我确实添加了以下行,但是不起作用(至少就我而言):
username ALL=(ALL) NOPASSWD:/sbin/shutdown -h now
然后按照以下指令在桌面上制作启动器:
sudo shutdown -h now
当我尝试时,它一直询问我密码。我做错了什么?
PS:我正在使用 visudo
答案1
行的顺序/etc/sudoers
很重要。
手册页上写道:
When multiple entries match for a user, they are applied in order. Where there are
multiple matches, the last match is used (which is not necessarily the most specific
match).
/etc/sudoers
因此,如果你的文件中存在以下常见行
%admin ALL=(ALL) ALL
并且您的用户是该组的一部分admin
,您需要将问题中的行放在该行后面。否则它将永远不会被使用,因为 for 行将%admin
始终匹配。
一般来说,将最具体的行(例如单个用户和命令的行)放在文件末尾。