我怎样才能让 sudo 永远不会在使用某个参数时要求输入密码,而总是在使用另一个参数时要求输入密码?

我怎样才能让 sudo 永远不会在使用某个参数时要求输入密码,而总是在使用另一个参数时要求输入密码?

例如,我希望允许sudo shutdown -c始终无需输入密码即可运行,但sudo shutdown不需要-c始终输入密码(即使我sudo之前已经通过了身份验证)。

答案1

要更改 sudo 配置,你需要使用 visudo 编辑 /etc/sudoers 文件(仅使用此文件,因为它包含验证。如果你不知道如何使用 vi这里是编辑文件所需的快速基础知识。要允许某些参数,有一个答案这里。因此,你基本上可以添加类似

user ALL=(root) NOPASSWD: /usr/bin/shutdown -c

到文件中以允许所有用户shutdown -c无需输入密码即可执行。要使 sudo 始终要求输入密码,您可以通过添加以下代码将超时设置为 0:

Defaults timestamp_timeout = 0

这不是特定于命令的(抱歉,找不到更好的命令)但会要求输入所有需要密码才能执行的命令(即没有NOPASSWD指定选项)。

有关 sudoers 文件功能的详细信息,请参阅官方网站

相关内容