我在编辑用户时不小心将自己从管理员组中移除。现在我无法再使用sudo
。错误信息如下:ber 不在 sudoers 文件中。此事件将已报告。
我启动了救援模式,但是,当进入根提示符,它要求我输入 root 密码。我没有 root 密码,并且提供了我自己的(第一个也是唯一的 ubuntu 用户)密码,它不允许进入。
我的硬盘已加密,但只有/主页/用户据我所知,这是部分,而不是整个磁盘。
我能做些什么?
答案1
嗯,你已经涵盖了我首先要建议的内容。如果整个磁盘未加密,救援模式会要求你输入密码,这似乎很烦人(我不知道,这可能是标准协议)。
我个人会进入实时环境(通过 Live CD 或 Live USB),挂载文件系统(假设它不是加密)并编辑其etc/group
文件并将自己添加回来。结果行应如下所示(尽管 GID 可能不同):
admin:x:115:oli
或者在 Ubuntu 12.04 上,找到 group 的行sudo
而不是admin
group。
或者,您也可以chroot
从 LiveCD 运行命令。(LiveCD 的 sudo 密码是空白密码,只需在提示时按回车键即可)
sudo mount /dev/sdYY /mnt # change sdYY to your root partition
sudo mount --bind /dev /mnt/dev
sudo mount --bind /dev/pts /mnt/dev/pts
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
sudo adduser your-username admin
对于 Ubuntu 12.04 及更高版本,将用户添加到sudo
组而不是admin
组:
sudo adduser your-username sudo
chroot
它会将您带到文件系统内的 root shell,因此您可以执行一些有趣的操作,例如将用户添加到组中。它最适用于修复启动问题,但它可以执行很多操作。
答案2
在 grub 启动菜单中,按下e编辑内核启动命令行并single
在其末尾添加单词。这将以单用户模式(以 root 身份)启动系统,并允许您执行任何修改。