При настройке веб-сервера часто требуется создать пользователя с ограниченными правами, но с доступом к файлам веб-приложений. В этом руководстве я покажу, как правильно добавить пользователя в группу www-data на Ubuntu 22.04.
Зачем это нужно?
- Безопасный доступ к файлам веб-сервера без root-прав
- Корректная работа PHP-скриптов и WordPress
- Возможность совместной работы над проектом
- Правильные права для загрузки файлов через веб-интерфейс
Шаг 1: Создаем нового пользователя
sudo adduser devuser
Замените «devuser» на имя вашего пользователя. Система запросит задать пароль и дополнительную информацию (можно пропустить).
Шаг 2: Добавляем пользователя в группу www-data
sudo usermod -aG www-data devuser
sudo groups devuser | grep www-data
Шаг 3: Настраиваем права на веб-папки
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 775 /var/www/html
Эти команды:
- Меняют владельца на www-data
- Дают группе www-data права на запись
- Сохраняют права на выполнение для всех
Шаг 4: Настройка PHP-FPM (если используется)
sudo nano /etc/php/8.1/fpm/pool.d/www.conf
Добавьте или измените строки:
user = www-data
group = www-data
listen.group = www-data
listen.mode = 0660
Перезапустите PHP-FPM:
sudo systemctl restart php8.1-fpm
Шаг 5: Проверка настроек
sudo -u devuser -g www-data touch /var/www/html/test.txt
Если файл создался — настройки верны.
SSH доступ
sudo rsync --archive --chown=devuser:www-data ~/.ssh /home/devuser/
sudo chmod 700 /home/devuser/.ssh
sudo chmod 600 /home/devuser/.ssh/authorized_keys
Важные нюансы
- Не давайте пользователю sudo без необходимости
- Для системных задач используйте sudo -u www-data
- Проверяйте логи при ошибках: sudo tail -f /var/log/nginx/error.log
Заключение
Теперь у вас есть безопасно настроенный пользователь для работы с веб-проектами. Это особенно полезно при:
- Разработке в команде
- Настройке CI/CD
- Управлении правами на production-сервере
Если у вас есть вопросы или дополнения — оставляйте комментарии!
Добавить комментарий