user

Директива user задаёт пользователя и группу, от имени которых будут выполняться рабочие процессы NGINX. — NGINX Core

user
main
Синтаксисuser username [groupname];
По умолчаниюnone
Контекстmain
МодульNGINX Core
Аргументы1-2

Описание

Директива `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 от имени пользователя с недостаточными правами приведёт к тому, что он не сможет запуститься или получить доступ к необходимым ресурсам.