user
Директива user задаёт пользователя и группу, от имени которых будут выполняться рабочие процессы NGINX. — NGINX Core
Описание
Директива `user` в NGINX задаёт привилегии пользователя и группы для рабочих процессов. Это важно для безопасности: NGINX будет работать от имени непривилегированного пользователя, а не root, что снижает потенциальный ущерб от уязвимостей. Директива принимает один или два параметра: первый параметр — имя пользователя, а второй (необязательный) — имя группы. Если указан только один аргумент, NGINX будет использовать группу по умолчанию, связанную с этим пользователем. Например, `user nginx;` устанавливает пользователя 'nginx' и использует группу по умолчанию для 'nginx'. При указании обоих параметров запись имеет вид `user username groupname;`. Эта директива должна объявляться в основном контексте конфигурационного файла NGINX, обычно в файле `nginx.conf`, до определения контекстов `events` или `http`. Изменения, внесённые этой директивой, вступают в силу только при запуске или перезапуске NGINX. Если процесс уже запущен, изменение этой директивы потребует полной остановки и последующего запуска NGINX для применения. Следует убедиться, что указанный пользователь имеет достаточные права доступа к необходимым файлам, каталогам и ресурсам, таким как журналы или document roots, но не обладает чрезмерно широкими правами, чтобы сохранять принцип наименьших привилегий.
Пример конфига
user www-data; user nginx nginx;
Убедитесь, что указанный пользователь существует в системе перед запуском NGINX.
Если не указана группа, будет использована группа пользователя по умолчанию; это может привести к непредвиденным проблемам с правами доступа, если не уделять этому должного внимания.
Запуск NGINX от имени пользователя с недостаточными правами приведёт к тому, что он не сможет запуститься или получить доступ к необходимым ресурсам.