如何将自己添加到 sudoers 组?

osh*_*nen 43 sudo administration

可能的重复:
如何将用户添加到“sudo”组?

我认为,通过遵循此操作,我已将自己重新添加到管理员组中

但我仍然无法执行以下命令:

sudo aptitude update
Run Code Online (Sandbox Code Playgroud)

我收到消息

oshirowanen is not in the sudoers file.  This incident will be reported.
Run Code Online (Sandbox Code Playgroud)

现在我在 admin 组中,如何将自己添加到 sudoers 组中?

Sre*_*akh 45

以 rootsu身份登录或获取 root 提示

类型 visudo

编辑器将打开找到一行说

root ALL=(ALL) ALL
Run Code Online (Sandbox Code Playgroud)

在下方添加您的用户名

user ALL=(ALL) ALL
Run Code Online (Sandbox Code Playgroud)

键入ctrl+xTypeY到提示

  • 改为`adduser <user> sudo` 不是更有意义吗?即让他成为`admin` 和`sudo` 组的成员吗?否则我觉得它有点多余。 (26认同)
  • 此外,`ctrl+x` 不会退出 visudo。而是`:wq`。 (2认同)

Eli*_*gan 9

如果您在admin组中(或sudo从 Ubuntu 12.04 开始的组)但该组未配置/etc/sudoers为能够以 root 身份运行命令sudo,您可以像修复损坏的 sudoers文件一样修复该问题:

pkexec visudo
Run Code Online (Sandbox Code Playgroud)

然后只需编辑sudoers文件以添加您需要的任何条目。特别是:

  • 12.04 之前的 Ubuntu 系统,或者从 12.04 之前的版本升级的系统,应该有:

    # Members of the admin group may gain root privileges
    %admin ALL=(ALL) ALL
    
    Run Code Online (Sandbox Code Playgroud)
  • Ubuntu 12.04 及更高版本应该有这个(即使它们也有上述行,因为它们是从早期版本升级的):

    # Allow members of group sudo to execute any command
    %sudo   ALL=(ALL:ALL) ALL
    
    Run Code Online (Sandbox Code Playgroud)

这种pkexec方法(在桌面系统上)有效,因为安装了 GUI 的 Ubuntu 系统有两种独立的机制供管理员执行操作rootsudoPolicyKit

如果您很好奇并想了解更多信息,请参阅有关不同但相似问题的此问题: