我正在运行 Linux Mint 11,并且失去了使用的权限sudo
,显然是由于我意外将自己从管理员组中删除而导致的。
当我使用groups
命令列出我所在的组时,它只显示我的用户 ID 和 vboxusers。我想我错误地使用了 usermod 而不是 useradd 将我的 ID 放入 vboxusers 组中,所以我被从所有其他组中删除了。
我在网上找到的解决方案(如下所示:http://www.psychocats.net/ubuntu/fixsudo) 描述了在 GRUB 菜单中,选择恢复模式,获取 root 提示符,并使用该提示符将我的用户重新添加到组中。但是当我这样做时,它会要求输入 root 密码,但我不知道,因为 Linux Mint 和其他基于 Ubuntu 的发行版不允许您在安装期间查看或设置 root 密码。
我有 Linux Live CD,因此我可以通过这种方式获得 root 权限,但这无法让我通过命令行操纵 Mint 安装中的用户。但是,我可以使用它来编辑任何文件,那么我应该编辑哪个文件以及如何编辑它才能重新获得管理员(以及 sudo)权限?
我的 ID 仍在 sudoers 文件中,如cat /media/mint/etc/sudoers
运行 live CD 时所示。
答案1
您必须启动恢复模式才能获得 root(系统范围)访问权限才能修复
如果您有单启动(Ubuntu 是您的计算机上唯一的操作系统),要显示启动菜单,您必须在启动期间按住 Shift 键。
从启动菜单中,选择恢复模式
选择恢复模式并等待所有启动过程完成后,您将看到几个选项。在这种情况下,您需要该Drop to root shell prompt
选项。
/etc/group
是定义系统上的组的文件
然后您可以使用adduser username admin
将您的用户重新添加到管理员组。
或者,您可以使用命令安全地vigr
编辑文件/etc/group
格式示例;
group-name:x:group-number:user1,user2
admin:x:110:username
答案2
我最近在 Ubuntu 16.04 上遇到了完全相同的问题。我将我的用户添加到没有该-a
选项的组中,并将其从包括在内的所有其他组中移除sudo
,因此失去了将其添加回来的 root 权限。
我发现解决这个问题的办法是启动恢复模式。但我做不到,因为我只有一个蓝牙键盘,它只有在我登录后才能工作。
我在另一个问题的答案中找到了解决这个问题的方法: https://askubuntu.com/a/435347/841719. 重新表述并略微修改上下文
- 启动 Live 媒体。您可以使用 Ubuntu USB。
- 打开终端
使用以下方法找出主磁盘(根分区“/”)的设备名称
sudo fdisk -l
使用读/写模式将其安装在某处,以便我们可以使用它(*将磁盘更改为
sda1
驱动器的名称):sudo mount -o rw /dev/sda1 /mnt
- 使用 CD 插入已安装的驱动器
cd /mnt
使用以下方式编辑组文件
sudo gedit /etc/group
将您的用户名添加到重要组,如 sudo、admin 等。一旦获得 sudo,您就可以将其添加到稍后被删除的所有其他组。确保您遵循组文件的格式。
格式示例:group-name:x:group-number:user1,user2 admin:x:110:username
保存文件并退出
- 停止
/mnt
使用cd /
- 使用卸载驱动器
umount /mnt
(它给我抛出了一个错误,所以我忽略了这一步) - 关闭电脑,移除可启动的实时 USB 并启动原生 Ubuntu。
现在你应该已经恢复了 sudo 权限。输入以下命令检查:
sudo df
答案3
类似或可能相同的问题:由于某种原因,创建 USB live mint(在我的情况下是 mate+cinnamon)不允许您使用 sudo(因此您无法安装)。
疯狂的是你可以在非图形控制台中进行 su!
解决此问题:
- 打开终端并输入
passwd
- 给 mint 设一个密码
- 按Ctrl++进入非图形Alt控制台F1
- 使用你的密码以 mint 身份登录
- 输入
su
成为 root - 输入
echo "mint ALL=(ALL:ALL) ALL" >> /etc/sudoers
(带引号)