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 才会生效。 应注意确保所指定的用户具有访问必要文件、目录和资源(例如日志或文档根目录)的足够权限,但不要拥有过于宽泛的访问权限,以保持最小权限原则。

配置示例

user www-data;
user nginx nginx;

在启动 NGINX 之前,请确保指定的用户在系统上存在。

如果未指定组,将使用该用户的默认组;如果不谨慎管理,可能会导致意外的权限问题。

以权限不足的用户身份运行 NGINX 会导致其无法启动或无法访问所需的资源。