nginx的无密码sudo重启不起作用



进入sudoers文件并在底部添加如下内容:

tristan ALL=NOPASSWD:/usr/sbin/service nginx start,/usr/sbin/service nginx stop,/usr/sbin/service nginx restart

现在在命令行中,当我只写service nginx stop时,我得到Stopping nginx:,但实际上没有停止…只有当我做sudo service nginx stop时,它才能工作。

我必须重新启动ubuntu吗?为什么?发生了什么?

还应该提到上面我的sudoers文件是:

# User privilege specification
root    ALL=(ALL:ALL) ALL
tristan ALL=(ALL:ALL) ALL

首先:如果您在sudo中设置了NOPASSWD:,您仍然需要键入"sudo service ...."以root身份执行。它只是改变了行为,当sudo-ing时你不需要输入自己的密码。没有"auto-sudo",如果你真的需要,你必须创建一个专门的初始化脚本。或者尝试设置别名。

第二,如果你配置sudo到/usr/sbin/service nginx…然后输入sudo/usr/sbin/service nginx…为了匹配它,输入service nginx…(没有路径)它会掉入"tristan ALL=(ALL:ALL) ALL"

试试"sudo -l",看看你有哪些sudo权限。

祝好,j。

最新更新