sudo
访问? (如果发行版中的内容相同,那就更好了!)设置:个人和/或实验室/培训设备,无需担心未经授权的访问(即设备位于非公共网络上,并且任何/所有用户都是完全受信任的,并且设备的内容为“纯香草”)。
#1 楼
编辑由于麦地那的评论:根据手册页,您应该能够编写ALL ALL = (ALL) NOPASSWD: ALL
,以允许所有用户无需密码即可运行所有命令。 >
作为参考,我留下我以前的答案:
如果添加以下形式的行
%wheel ALL = (ALL) NOPASSWD: ALL
< br到
/etc/sudoers
(当然使用visudo
命令),它将使wheel
组中的每个人都可以运行任何命令而无需提供密码。因此,我认为最好的解决方案是将所有用户放在某个组中,并在sudoers
中添加一行-显然,您应该将wheel
替换为您使用的实际组。或者,您可以定义一个用户别名,
User_Alias EVERYONE = user1, user2, user3, ...
并使用它:
EVERYONE ALL = (ALL) NOPASSWD: ALL
,尽管您每次都必须更新
/etc/sudoers
您添加或删除用户。评论
并非所有用户都可以使用*来指定所有用户吗?参见sudoers(5)中的示例。
–麦地那
2010年7月15日10:58
@medina:确实如此,当我阅读手册页时我很想念它。我会编辑。
– David Z
2010年7月15日在17:26
在Ubuntu下,在/etc/sudoers.d下创建一个文件,并将这些条目放入其中,这将使您不必编辑sudoers
– Xetius
2012年10月28日在20:18
在CentOS7中,默认情况下该条目存在,只是被注释掉了。
– Killjoy
18年4月28日在10:22
仅通过复制/粘贴设法在centOS中使用它,每次尝试直接键入配置的尝试都失败了。但是结果似乎相同,除了空格...
–MUY比利时
18年6月28日在8:31
#2 楼
我尝试了上述解决方案,但无济于事。以下解决方案为我工作了
编辑/ etc / sudoers文件并添加以下行
username ALL=(ALL) NOPASSWD: ALL
关键是将其添加到最后一行
#includedir /etc/sudoers.d
之后
评论
//,这似乎是更好的方法,尤其是当某些应用程序将为系统用户Richipal添加自己的规则时。有关sudoers.d的更多信息:sudo.ws/man/1.8.13/sudoers.man.html
– Nathan Basanese
15年8月27日在17:18
//,您是否愿意将Gearoid Murphy的一些诊断信息添加到您的答案中?
– Nathan Basanese
15年8月27日在17:19
感谢您的澄清。在CentOS 7中,在#includedir /etc/sudoers.d行之后添加它似乎很重要,而在CentOS 6中将该行放在文件的前面似乎可以正常工作。
– dmohr
17年6月8日在17:13
忽略%wheel的NOPASSWD的问题似乎是由于/etc/sudoers.d/USERNAME覆盖了该组的NOPASSWD权限而引起的。在/etc/sudoers.d/USERNAME中应用NOPASSWD可解决此问题。
–鳗鱼ghEEz
17年7月31日在15:03
对此大加赞赏,包括在内之后很重要
–西奥多·豪威尔(Theodore Howell)
19年4月8日在17:50
#3 楼
我尝试了此页面上的所有答案,但没有得到有用的结果。最终我想通了,使用此命令列出您的sudo权限:sudo -l
这应该给您这样的输出:
它显示我已经配置了root特权,但是我仍然属于与sudo规则匹配的组(admin),后者需要密码(“(ALL)ALL”)。这迫使sudo提示我。有问题的规则是管理员用户:
User gmurphy may run the following commands on this host:
(root) NOPASSWD: ALL
(ALL) ALL
一旦我注释掉,我就可以在没有密码的情况下进行sudo。我希望这对其他人有用。
评论
啊,谢谢!这让我发疯了……就我而言,我的用户既属于“ sudo”组又属于“ admin”(由我创建),并且每个用户的权限都与您的情况不匹配。现在,这些东西起作用了! :)
– neezer
2012年5月6日22:28
评论出界是一种钝器。根据ubuntuforums.org/showthread.php?t=1132821,您可能会听到“ sudo从顶部到底部依次读取sudoers文件并应用权限。因此文件的最后一行将覆盖以前的任何冲突”,您可能会感兴趣。 -这对我有用。
– David J.
13年1月15日在4:08
#4 楼
在/etc/sudoers
中,有一个示例恰好位于文件底部:## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
评论
该样品不在我的手中,但谢谢!
–沃伦
2012年10月1日在2:39
喜欢你简洁的答案
–光谱
15年7月21日在1:07
#5 楼
还有另一种方法可以不触摸sudoers文件。编辑
/etc/pam.d/su
并取消注释以下行:auth sufficient pam_wheel.so trust use_uid
将用户添加到
wheel
组。#6 楼
还有另一种方法可以不触摸sudoers文件。编辑
/etc/pam.d/sudo
并添加以下行:auth sufficient pam_wheel.so trust use_uid
将用户添加到
wheel
组。向“ topdog”和“ Daniel Serodio”提供有关“ su”而不是“ sudo”的原始答案的道具。我以此为参考,毫不客气地复制和修改了他们的帖子。
评论
我认为与其复制逐字记录,不如将它们归功于它,但要清楚您的答案有何不同。我认为这允许无密码的su,而不是无密码的sudo?顺便说一下,Daniel的添加只是格式化。
–mwfearnley
18年8月22日在10:01
#7 楼
这是一个旧线程,但有趣的是,没有人将系统默认值authenticate
添加到此答案列表中。在sudoers文件中使用Defaults !authenticate
条目将允许任何用户使用其定义的
sudo
命令,而无需任何密码验证。它是默认sudo规范的一部分,并且可以在OP中指定的所有平台上移植。而且,如果您需要将其范围限定于特定用户,请尝试Defaults:<user_name> !authenticate
#8 楼
echo -e "\n$USER ALL=(ALL) NOPASSWD: ALL\n" | sudo tee -a /etc/sudoers
sudo cat /etc/sudoers
重新打开终端,确认没有要求您输入密码:
sudo echo "it works!"
评论
@Richipal给出的答案实际上是最省力的方法:似乎sudoers规则适用于相反的顺序。@ a1an规则的应用顺序与sudoers文件中列出的顺序相同,并且在应用它们时,它们之间会相互覆盖。因此,如果我根本不希望更改规则,则将其放在文件末尾,以便最后应用它并且不能覆盖它。