Как добавить пользователя с правами www-data на Ubuntu 22.04 для веб-разработки

При настройке веб-сервера часто требуется создать пользователя с ограниченными правами, но с доступом к файлам веб-приложений. В этом руководстве я покажу, как правильно добавить пользователя в группу 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-сервере

Если у вас есть вопросы или дополнения — оставляйте комментарии!

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *