当前位置: 首页>>技术问答>>正文


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

, ,

问题描述

我今天在clean-installed Ubuntu 11.10上安装了VirtualBox。这需要我将自己添加到vboxusers组,并且由于11.10似乎不再有用于将用户添加到组的图形应用程序,因此我运行以下命令:

sudo usermod -G vboxusers stephane

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

sudo usermod -aG vboxusers stephane

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

$ sudo ls
[sudo] password for stephane: 
stephane is not in the sudoers file.  This incident will be reported.

有没有办法解决这个问题,还是我需要从头开始re-install?

最佳解决思路

  1. 在启动过程中,按住左侧的Shift键,您将看到GRUB菜单。

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

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

    remount    Remount / read/write and mount all other file systems 
    

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

    如果此选项未显示或不起作用,则可以选择root选项并使用以下命令安装系统分区:

    mount -o remount /
    

    您可以使用fsck命令或通过查看/etc/mtab来查看您的系统分区。

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

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

    root       Drop to root shell prompt
    
  5. 现在输入以下命令之一到您的用户re-add到admin组(对于Ubuntu 11.10及更早版本):

    adduser <USERNAME> admin
    

    或者到sudo组(对于Ubuntu 12.04及更高版本):

    adduser <USERNAME> sudo
    
  6. 重新启动,您应该能够再次使用sudo

次佳解决思路

如果在您的系统上启用了root登录,只需通过Control + Alt + F1删除终端,而无需登录X.以root用户身份登录,然后将所需用户添加到admin组(对于Ubuntu 11.10及更早版本):

adduser desired_user_name admin

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

adduser desired_user_name sudo

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

permissions,sudo,ubuntu

将文件系统挂载为read-write:

mount -o rw,remount /

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

第三种解决思路

在做了同样的事情之后我尝试了各种组合,因为remount菜单选项似乎不在12.10中。我从root开始尝试了这篇文章中的所有其他内容。最后一个是

umount -a
mount -o -w /<path> /

这导致文件系统仍然是由于fstab中的设置来启动ro文件系统错误我认为,它说明它似乎是挂载后的ro。

我终于成功了

mount -o rw,remount /

虽然我不确定这与前一组命令有什么不同。

应用此变体后,将用户添加到admin(11.10和ealrier)或sudo(12.04及更高版本)组的方式相同:

adduser username admin    # 11.10 and earlier
adduser username sudo     # 12.04 and later

第四种思路

老问题也发生在我身上(Ubuntu 14.04)。

我无法登录恢复模式并获得对root shell的访问权限,因为这里和其他地方的许多答案都描述了:GRUB的root shell访问似乎是password-protected。

所以我这样解决了问题:

  1. 在现场的usb棒上启动

  2. 打开一个壳

  3. 访问主要的HD Linux文件系统(您可以在GUI文件资源管理器的地址栏中找到它的安装点,通常在CTRL-L之后)。 cd进去吧。

  4. 编辑文件etc/group(用nano etc/group或其他任何东西)

  5. 找到”sudo”线。应该看起来像sudo:x:27:admin,bob,alice

  6. 将自己添加到sudo行,逗号分隔

当然,这意味着文件etc/sudoers仍然保留该行

%sudo   ALL=(ALL:ALL) ALL

意味着sudo组的所有成员都具有完全控制权。首先检查一下。

工作顺利。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1425.html,未经允许,请勿转载。