进入我的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
答案 0 :(得分:0)
首先:如果你在sudo中设置NOPASSWD:你仍然需要输入“sudo service ....”来以root身份执行。它只会改变行为,在sudo-ing时你不需要输入自己的密码。没有“自动sudo”,如果你真的需要,你必须创建一个专门的init脚本。或者尝试设置别名。
其次,如果你将sudo配置为/ usr / sbin / service nginx ...那么你必须输入sudo / usr / sbin / service nginx ...来匹配它,输入service nginx ...(不带路径)它将落到“特里斯坦ALL =(全部:全部)全部”。
尝试使用“sudo -l”,查看您拥有的sudo权限。
RGDS, 学家