如何sudo
在RHEL(Fedora,CentOS等)或Ubuntu发行版上设置无密码访问?(如果发行版中的内容相同,那就更好了!)
设置:个人和/或实验室/培训设备,不考虑未经授权的访问(即,设备位于非公共网络上,并且任何/所有用户都是完全受信任的,并且设备的内容为“纯香草”) 。
如何sudo
在RHEL(Fedora,CentOS等)或Ubuntu发行版上设置无密码访问?(如果发行版中的内容相同,那就更好了!)
设置:个人和/或实验室/培训设备,不考虑未经授权的访问(即,设备位于非公共网络上,并且任何/所有用户都是完全受信任的,并且设备的内容为“纯香草”) 。
Answers:
编辑由于麦地那的评论:根据手册页,您应该能够写
ALL ALL = (ALL) NOPASSWD: ALL
允许所有用户无需密码即可运行所有命令。
作为参考,我将保留以前的答案:
如果您添加表格的一行
%wheel ALL = (ALL) NOPASSWD: ALL
到/etc/sudoers
(使用visudo
过程中的命令,),它将让大家组中wheel
运行的任何命令,而无需提供密码。因此,我认为最好的解决方案是将所有用户放在一个组中,并在其中添加一行sudoers
-显然,您应该替换为所wheel
使用的实际组。
或者,您可以定义用户别名,
User_Alias EVERYONE = user1, user2, user3, ...
并使用:
EVERYONE ALL = (ALL) NOPASSWD: ALL
尽管您/etc/sudoers
每次添加或删除用户时都必须进行更新。
ALL
工作,而不是*
指定所有用户?请参阅中的示例sudoers(5)
。
我尝试了上述解决方案,但没有成功。以下解决方案对我有用:编辑/ etc / sudoers文件并添加以下行
username ALL=(ALL) NOPASSWD: ALL
的关键是它的最后一行它说之后添加
#includedir /etc/sudoers.d
/etc/sudoers.d/USERNAME
重写了该组的NOPASSWD许可而引起的。应用NOPASSWD /etc/sudoers.d/USERNAME
解决了该问题。
我尝试了此页面上的所有答案,但没有得到有用的结果。最终我想通了,使用此命令列出您的sudo权限:
sudo -l
这应该给你这样的输出:
User gmurphy may run the following commands on this host:
(root) NOPASSWD: ALL
(ALL) ALL
它显示我已配置了root特权,但我仍属于与sudo规则匹配的组(admin)的一部分,该规则要求输入密码(“(ALL)ALL”)。这迫使sudo提示我。有问题的规则是管理员用户:
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
一旦我注释掉,我就可以在没有密码的情况下进行sudo。我希望这对其他人有用。
还有另一种方法可以不触碰sudoers文件。
编辑/etc/pam.d/sudo
并添加以下行:
验证足够的pam_wheel.so信任use_uid
将用户添加到wheel
组。
对于“ su”而不是“ sudo”的原始答案,建议使用“ topdog”和“ Daniel Serodio”。我以此为参考,毫不客气地复制和修改了他们的帖子。
su
,而不是/以及无密码sudo
?顺便说一下,Daniel的添加只是格式化。