帮我调试一下。sudo
尽管设置正确(我相信),但当我为命令添加前缀时,系统仍会提示我输入密码。
我在群里
wheel
。$ groups network power users storage lp input audio wheel dilawars
我已使用以下命令取消注释正确的行
visudo
:## ## User privilege specification ## root ALL=(ALL) ALL ## Uncomment to allow members of group wheel to execute any command # %wheel ALL=(ALL) ALL ## Same thing without a password %wheel ALL=(ALL) NOPASSWD: ALL
我已注销并登录多次,但每当我说 时sudo cmd
,系统都会提示我输入密码。
我使用的是 Majaro Linux。
我在输出中注意到以下行strace sudo ls
:
write(2, "effective uid is not 0, is /usr/"..., 133effective uid is not
0, is /usr/bin/sudo on a file system with the 'nosuid' option set or
an NFS file system without root privileges?) = 133
答案1
用户可能匹配多个规则。在这种情况下,最后匹配的规则获胜。所以,如果你搬家:
%wheel ALL=(ALL) NOPASSWD: ALL
到文件末尾,它应该可以工作。
答案2
Aurman 执行sudo -v
强制用户凭据在启动时缓存一次。默认情况下,使用此选项sudo
仅当所有匹配条目都有标签时才询问密码NOPASSWD
。因此,如果/etc/sudoers
你有这样的东西:
%sudo ALL=(ALL:ALL) ALL
%wheel ALL=(ALL:ALL) NOPASSWD: ALL
并且您是这两个组的成员wheel
并且sudo
,无论如何都会要求您输入密码。您可以配置sudo
为如果至少一个匹配条目具有NOPASSWD
标签,则避免询问密码。在/etc/sudoers
:
Defaults verifypw = any