Метка: DevOps

  • Как добавить пользователя с правами 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-сервере

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