从管理员组中删除后重新获得Sudo权限

编辑用户时,我不小心将自己从管理员组中删除了。 现在我不能再使用sudo 。 错误说: ber不在sudoers文件中。 将报告此事件。

我在救援模式下启动,但是,当进入root提示符时 ,它会询问我的root密码。 我没有,并提供我自己的(第一个和唯一的ubuntu用户)密码,它不允许进入。

我的硬盘是加密的,但只有/ home / user部分,而不是整个磁盘,afaik。

我能做什么?

嗯,你已经涵盖了我先建议的内容。 如果整个磁盘没有加密(我不知道,这可能是标准协议),看起来很烦人,Rescue模式会让你输入密码。

我个人会跳转到一个实时环境(通过Live CD或Live USB),挂载文件系统(假设它没有加密)并编辑它的etc/group文件并重新加入。生成的行应该看起来像这样(尽管GID可能不同):

 admin:x:115:oli 

或者在Ubuntu 12.04上,找到sudo组而不是admin组的行。


或者,您可以从LiveCD中chroot来运行命令。 (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中关闭,所以应该让你做一些奇特的事情,比如将用户添加到组中。 它对于修复启动问题最有用,但它可以做很多gubbins。

在grub启动菜单中,按e编辑内核启动命令行并在其末尾附加单词single 。 这应该在单用户模式(以root用户身份)启动系统,并允许您执行任何修改。