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

war*_*ren 186 linux password sudo

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

设置:个人和/或实验室/培训设备,无需担心未经授权的访问(即设备位于非公共网络上,并且任何/所有用户都是完全信任的,并且设备的内容是“普通的”) .

Dav*_*d Z 201

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

ALL            ALL = (ALL) NOPASSWD: ALL
Run Code Online (Sandbox Code Playgroud)

允许所有用户无需密码即可运行所有命令。


作为参考,我要留下我以前的答案:

如果添加一行表单

%wheel         ALL = (ALL) NOPASSWD: ALL
Run Code Online (Sandbox Code Playgroud)

to /etc/sudoersvisudo当然是使用命令),它将让组中的每个人wheel运行任何命令而无需提供密码。所以我认为最好的解决方案是将所有用户放在某个组中,并在其中放置一行sudoers- 显然您应该替换wheel为您使用的实际组。

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

User_Alias     EVERYONE = user1, user2, user3, ...
Run Code Online (Sandbox Code Playgroud)

并使用它:

EVERYONE       ALL = (ALL) NOPASSWD: ALL
Run Code Online (Sandbox Code Playgroud)

尽管您/etc/sudoers每次添加或删除用户时都必须进行更新。

  • 在 Ubuntu 下,在 /etc/sudoers.d 下创建一个文件并将这些条目放入其中,这样您就不必编辑 sudoers (6认同)
  • 不是`ALL` 工作而不是`*` 来指定所有用户吗?请参阅“sudoers(5)”中的示例。 (2认同)

小智 123

我尝试了上述解决方案无济于事。以下解决方案对我有用 编辑 /etc/sudoers 文件并添加以下行

username ALL=(ALL) NOPASSWD: ALL
Run Code Online (Sandbox Code Playgroud)

关键是它的最后一行它说之后添加

#includedir /etc/sudoers.d
Run Code Online (Sandbox Code Playgroud)

  • 忽略 %wheel 的 NOPASSWD 的问题似乎源于`/etc/sudoers.d/USERNAME` 覆盖了组的 NOPASSWD 权限。在`/etc/sudoers.d/USERNAME` 中应用NOPASSWD 解决了这个问题。 (4认同)
  • 大起大落,在包含之后很重要 (3认同)

Gea*_*phy 28

我尝试了此页面上的所有答案,但没有任何有用的结果。最终我想通了,使用此命令列出您的 sudo 权限:

sudo -l
Run Code Online (Sandbox Code Playgroud)

这应该给你一个这样的输出:

User gmurphy may run the following commands on this host:
    (root) NOPASSWD: ALL
    (ALL) ALL
Run Code Online (Sandbox Code Playgroud)

它表明我配置了 root 权限,但我仍然是与 sudo 规则匹配的组(管理员)的一部分,该规则需要密码(“(ALL)ALL”)。这迫使 sudo 提示我。有问题的规则是管理员用户:

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
Run Code Online (Sandbox Code Playgroud)

一旦我将其注释掉,我就可以在没有密码的情况下进行 sudo 操作。我希望这对其他人有用。

  • 注释一行是一种生硬的工具。根据 http://ubuntuforums.org/showthread.php,您可能有兴趣听到“sudo 读取 sudoers 文件并按从上到下的顺序应用权限。因此文件中的最后一行将覆盖任何先前的冲突”? t=1132821——这对我有用。 (14认同)

Ign*_*ams 10

/etc/sudoers文件底部有一个例子:

## Same thing without a password
# %wheel        ALL=(ALL)       NOPASSWD: ALL
Run Code Online (Sandbox Code Playgroud)

  • 那个样本不在我的 - 但谢谢! (2认同)

小智 6

还有另一种方法可以在不触及 sudoers 文件的情况下做到这一点。