尽管处于组轮中, sudo 仍然要求输入密码

尽管处于组轮中, sudo 仍然要求输入密码

帮我调试一下。sudo尽管设置正确(我相信),但当我为命令添加前缀时,系统仍会提示我输入密码。

  1. 我在群里wheel

    $ groups
    network power users storage lp input audio wheel dilawars
    
  2. 我已使用以下命令取消注释正确的行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

相关内容