如何在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。