如果在 visudo 中使用 NOPASSWD 选项输入应用程序密码,则 Sudo 会询问密码

如果在 visudo 中使用 NOPASSWD 选项输入应用程序密码,则 Sudo 会询问密码

首先,我已经成功地从所有应用程序中删除了 sudo 密码:我在 /etc/sudoers.d 中创建了一个新文件,其中包含sudo visudo -f /etc/sudors.myfile以下行:

ghegheg ALL= NOPASSWD: ALL

它适用于所有非 ssh 应用程序。但出于安全原因,我只想为安装在 /home/ghegheg/Install/amdgpu-pro-fans/amdgpu-pro-fans.sh 中的 amdgpu-pro-fans.sh 应用程序逃脱 sudo 密码,但它不起作用。我在 myfile 中输入了以下行:

ghegheg ALL= NOPASSWD: /home/ghegheg/Install/amdgpu-pro-fans/amdgpu-pro-fans.sh

但在输入命令后,/home/ghegheg/Install/amdgpu-pro-fans/amdgpu-pro-fans.sh -s 50系统会询问 sudo 密码。我尝试了其他应用程序,例如:visudo,

ghegheg ALL= NOPASSWD: /usr/sbin/visudo /sbin/visudo

并且他们同样要求输入 sudo 密码,如果之前NOPASSWD: ALL 没有要求输入任何密码的话。我不知道该怎么办!我在下面列出了sudo -l命令的输出:

User ghegheg may run the following commands on ...
    (ALL : ALL) ALL
    (root) NOPASSWD: /home/ghegheg/Install/amdgpu-pro-fans/amdgpu-pro-fans.sh

答案1

我相信 Sudo 会从上到下读取权限,并在找到匹配项后立即停止,根据上面 sudo -l 的输出,ghegheg 是与先前的权限规则匹配的组的一部分,该规则授予 sudo 访问权限, (ALL : ALL) ALL 因此它会提示您输入密码,要么从之前的匹配中删除 ghegheg,要么重新排列规则以使其首先匹配您的 NOPASSWORD:规则。

相关内容