Nginx 静态构建 - 以 root 身份与非 root 用户一起运行

Nginx 静态构建 - 以 root 身份与非 root 用户一起运行

我已经静态编译了 nGinx 并且它工作正常。当我从普通用户启动 nginx static bin 时,如何创建一个普通用户并以 root 身份运行它?

谢谢

答案1

我认为您要求的是如何授予非 sudo 用户权限以允许 Nginx 绑定到特权端口。

如果是这种情况,则在/etc/sudoers文件(快捷方式visudo)中添加以下行:

Cmnd_Alias   NGINX = /path/to/binary/nginx
username ALL=NOPASSWD: NGINX

当然,在上面的示例中,您需要更改 来/path/to/binary/匹配您系统上的位置,并将username更改为您希望运行命令的用户名。

您还可以通过创建 NGINX 组并且该组中的所有用户都具有该权限来实现相同的结果,而不是仅使用用户名。

groupadd groupnamehere
usermod -G groupnamehere usertoaddtogrouphere

现在在sudoers文件中,将username我上面给出的行替换为以下行:

%groupnamehere ALL=NOPASSWD: NGINX

要对此进行测试,请成为用户并执行命令:

1)Become the user =>  su - usernamehere
2)Check groups user is in => groups
3)Run command => sudo nginx restart
4)In case nginx isn't a global command run => sudo /path/to/binary/nginx restart

相关内容