user

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

Синтаксисuser username [groupname];
По умолчаниюnone
Контекстmain
Аргументы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 от имени пользователя с недостаточными правами приведёт к тому, что он не сможет запуститься или получить доступ к необходимым ресурсам.

← Ко всем директивам