我输入了以下条目,/etc/sudoers
允许我在输入密码后运行任何命令
%sudo ALL=(ALL:ALL) ALL
我还想在脚本中运行一个没有密码的特定命令。我尝试将以下行放入 中/etc/sudoers
,但运行时它总是要求输入密码。
gmc ALL = NOPASSWD: /sbin/hdparm -C /dev/sdc
有没有办法sudo
在使用通用条目之前先使用特定命令?
答案1
命令规则很重要。
从man 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 neces-
sarily the most specific match).
所以如果你有
gmc ALL = NOPASSWD: /sbin/hdparm -C /dev/sdc
%sudo ALL=(ALL:ALL) ALL
最后一条规则将适用,并且需要密码。
但是如果你有
%sudo ALL=(ALL:ALL) ALL
gmc ALL = NOPASSWD: /sbin/hdparm -C /dev/sdc
然后应用 NOPASSWD: 规则。