如何将自己重新添加为 sudo 用户?

Sté*_*ane 65 permissions sudo

我今天全新安装了 Ubuntu 11.10,然后安装了 VirtualBox。这需要我将自己添加到 vboxusers 组,并且由于 11.10 似乎不再有图形应用程序来将用户添加到组中,因此我运行了以下命令:

sudo usermod -G vboxusers stephane
Run Code Online (Sandbox Code Playgroud)

这是个问题。我现在看到我应该运行的是:

sudo usermod -aG vboxusers stephane
Run Code Online (Sandbox Code Playgroud)

最终结果是我不再属于我应该加入的组。包括运行“sudo”所需的任何组。当我现在以 sudo 身份运行任何命令时,我得到以下信息:

$ sudo ls
[sudo] password for stephane: 
stephane is not in the sudoers file.  This incident will be reported.
Run Code Online (Sandbox Code Playgroud)

有没有办法解决这个问题,还是我需要从头开始重新安装?

hto*_*que 66

  1. 在启动过程中,按住左键 Shift,您应该会看到 GRUB 菜单。

  2. 选择包含(恢复模式)的条目并等待。

  3. 您现在应该看到一个菜单。选择:

    remount    Remount / read/write and mount all other file systems 
    
    Run Code Online (Sandbox Code Playgroud)

    并等待您的文件系统以读/写权限挂载,然后按Enter

    如果此选项没有出现或不起作用,您可以改为选择该root选项并使用以下命令挂载系统分区:

    mount -o remount /
    
    Run Code Online (Sandbox Code Playgroud)

    您可以使用fsck命令或查看/etc/mtab.

    成功运行 mount 命令后(即没有错误消息),直接进行下面的第 5 步。

  4. 选择remount选项后,菜单再次出现。选择:

    root       Drop to root shell prompt
    
    Run Code Online (Sandbox Code Playgroud)
  5. 现在输入以下命令之一将您的用户重新添加到admin组中(对于 Ubuntu 11.10 及更早版本):

    adduser <USERNAME> admin
    
    Run Code Online (Sandbox Code Playgroud)

    或到sudo组(适用于 Ubuntu 12.04 及更高版本):

    adduser <USERNAME> sudo
    
    Run Code Online (Sandbox Code Playgroud)
  6. 重新启动,您应该可以sudo再次使用。

  • 如果您没有看到“重新挂载”菜单,您可以先选择“fsck”,它会重新挂载您的文件系统以进行读/写。之后,您可以在 root 模式下添加您的用户。 (3认同)

hea*_*gic 15

如果根登录被在系统上启用只是下降经由终端Control+ Alt+F1不登录到X.登录作为根,然后只是所希望的用户添加到admin组(为Ubuntu 11.10或更早):

adduser desired_user_name admin
Run Code Online (Sandbox Code Playgroud)

对于 Ubuntu 12.04 及更高版本,将用户添加到sudo组:

adduser desired_user_name sudo
Run Code Online (Sandbox Code Playgroud)

如果您没有启用 root 登录,只需从 Grub 中选择恢复模式,然后尝试 root shell。

根壳

以读写方式挂载文件系统:

mount -o rw,remount /
Run Code Online (Sandbox Code Playgroud)

之后,您可以再次将所需的用户添加到admin(或sudo)组中。


小智 7

在执行相同的操作后,我尝试了各种组合,因为重新安装菜单选项似乎不在 12.10 中。我已经从 root 尝试了这篇文章中的所有其他内容。最后是

umount -a
mount -o -w /<path> /
Run Code Online (Sandbox Code Playgroud)

这导致文件系统仍然是ro,因为 fstab 中的设置在文件系统错误时引导ro,我认为它表明它在挂载后似乎是ro

我终于用

mount -o rw,remount /
Run Code Online (Sandbox Code Playgroud)

虽然我不确定这与之前的一组命令有何不同。

应用此变体后,将用户添加到admin(11.10 and ealrier) 或sudo(12.04 and later) 组的方式相同:

adduser username admin    # 11.10 and earlier
Run Code Online (Sandbox Code Playgroud)
adduser username sudo     # 12.04 and later
Run Code Online (Sandbox Code Playgroud)