如何在Linux上设置无密码的`sudo`?

如何在RHEL(Fedora,CentOS等)或Ubuntu发行版上设置无密码sudo访问? (如果发行版相同,那就更好了!)

设置:个人和/或实验室/培训设备,不涉及未经授权的访问(即,设备在非公共networking上,任何/所有用户都完全信任,设备内容为“普通”)。 。

    编辑感谢麦地那的评论:根据手册页,你应该能够写

     ALL ALL = (ALL) NOPASSWD: ALL 

    允许所有用户在没有密码的情况下运行所有​​命令。


    作为参考,我要离开我以前的答案:

    如果你添加一行表单

     %wheel ALL = (ALL) NOPASSWD: ALL 

    /etc/sudoers (当然使用visudo命令),它将让组中的每个人都运行任何命令而不提供密码。 所以我认为最好的解决办法就是把所有的用户都放在一个组里,然后在sudoers放一条这样的线 – 显然你应该用你使用的实际组来replacewheel

    或者,您可以定义一个用户别名,

     User_Alias EVERYONE = user1, user2, user3, ... 

    并使用它:

     EVERYONE ALL = (ALL) NOPASSWD: ALL 

    尽pipe每次添加或删除用户时都必须更新/etc/sudoers

    我试过以上的解决scheme无济于事。 以下解决scheme适用于我编辑/ etc / sudoers文件并添加以下行

     username ALL=(ALL) NOPASSWD: ALL 

    关键是在最后一行之后加上它

     #includedir /etc/sudoers.d 

    我试着在这个页面上的所有答案,没有有用的结果。 最终我明白了,用这个命令列出你的sudo权限:

     sudo -l 

    这应该给你这样的输出:

     User gmurphy may run the following commands on this host: (root) NOPASSWD: ALL (ALL) ALL 

    它显示我configuration了root权限,但是我仍然是一个组(pipe理员)匹配到一个sudo规则,它需要密码(“(全部)所有”)的一部分。 这迫使sudo提示我。 有问题的规则是pipe理员用户:

     # Members of the admin group may gain root privileges %admin ALL=(ALL) ALL 

    一旦我评论这一点,我可以sudo没有密码。 我希望这对其他人有用。

    /etc/sudoers有一个例子,就是文件的底部:

     ## Same thing without a password # %wheel ALL=(ALL) NOPASSWD: ALL 

    还有另一种方法可以不触及sudoers文件。

    • 编辑/etc/pam.d/su并取消注释下面的行:

       auth sufficient pam_wheel.so trust use_uid 
    • 将用户添加到wheel组。

    还有另一种方法可以不触及sudoers文件。

    • 编辑/etc/pam.d/sudo并添加下面的行:

        auth足够pam_wheel.so信任use_uid 
    • 将用户添加到wheel组。

    对于“su”而不是“sudo”,原来的答案是“topdog”和“Daniel Serodio”。 我以此为参照,无耻地复制和修改了他们的post。