如何正确修改 sudoers 文件来创建启动器以关闭系统?

如何正确修改 sudoers 文件来创建启动器以关闭系统?

我确实添加了以下行,但是不起作用(至少就我而言):

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始终匹配。

一般来说,将最具体的行(例如单个用户和命令的行)放在文件末尾。

相关内容