我已经静态编译了 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