我陷入了一种特殊的情况。不知何故,我的主要用户被从管理员组中移除,不再具有 sudo 权限。但是,过去某个时候,我还将 grub_timeout 设置为 0,因此我无法让 grub 在恢复模式下启动并修复组问题。我该怎么办?有没有办法使用 live CD 来获取 root 提示符(不知何故,这听起来不太安全,所以我不这么认为)。
谢谢
答案1
Shift在系统启动到 Ubuntu 之前按住左键,它会带您进入grub
菜单。
在您以 root 权限进入恢复模式后,您需要以读/写方式安装驱动器才能进行任何更改。
mount -o remount,rw /
然后您可以检查用户所属的群组:
groups username
然后将用户添加到组sudo
usermod -a -G sudo username
将用户添加到adm
组
usermod -a -G adm username
希望这可以帮助。
答案2
如果你无法获得Terrance 的解决方案要工作,您可以使用 cd 中的实时环境。您需要挂载/
(root) 分区,chroot 到其中,然后使用常规工具修复您的用户帐户。
详细指南
提醒
切勿盲目运行在互联网上找到的命令,尤其是在您拥有 root 权限时。某些命令可能会损坏甚至破坏您的系统。如果您不知道命令或其参数的作用,请先在手册页中查找,并且只有在您了解命令的作用后才运行它。如果您不知道如何使用手册页,请参阅http://linux.die.net/man/1/man或者$ man man
设置实时环境
启动到您的实时环境并打开一个终端(konsole、gnome-terminal 等),如果您还没有切换,请切换到 root 用户。
在 中找到您的根分区/dev
。运行# lsblk
可能有助于您识别它,特别是如果您知道它的大小。从这里开始,我假设您的根分区在 上/dev/sda1
。
现在使用 挂载您的根分区# mount /dev/sda1 /mnt
。从技术上讲,您不必将其挂载到/mnt
,因此如果您愿意,可以将其挂载到其他空位置。如果您不确定是否挂载了正确的设备,请执行# ls /mnt
。如果是正确的设备,您应该会看到home
、etc
、usr
、var
等文件夹。
如果是错误的设备,请确保您不在/mnt
,然后运行# umount /mnt
。
将根分区挂载到 后/mnt
,使用 chroot 进入该分区# chroot /mnt
。现在,您应该可以使用已安装的系统了。
修复您的用户帐户
假设您的管理员组名为wheel
,您可以使用 将自己重新添加到该组# usermod -aG wheel your-user-name-here
。此时,您可能还需要仔细检查您的 sudo 配置,前提是您知道如何使用visudo
。
修复完系统后,运行# exit
退出 chroot 环境,然后使用 卸载分区# umount /mnt
。现在您可以重新启动回到正常系统,并检查您的访问权限是否已恢复。