问题描述
手动修改了sudoers文件:
sudo vim /etc/sudoers
出现了错误:
很尴尬的sudo用不了了,下面有几个解决方案:
解决办法
- 如果是拥有root权限的话,那么无所谓,直接改掉文件就好。
- 如果没有root权限,但是你的账户的确拥有sudo权限,那么可以执行下面这个命令来修改sudoers:
sudo pkexec visudo
这个命令会验证你的账户和密码
虚拟机挂载
接着上面的问题,我遇到了第三种尴尬的情况:pkexec命令验证账户密码的时候失败了,输入正确的密码也是失败,也不知道为什么,因为我这台机器是qemu虚拟机,那么就可以把虚拟机的img挂载到宿主机上面,然后手动修改文件再重启虚拟机。
方法
把img挂载到宿主机上面
sudo modprobe nbd max_part=8
sudo qemu-nbd --connect /dev/nbd0 path/to/your/qemu/image
sudo fdisk -l /dev/nbd0
sudo mount /dev/nbd0p1 /mnt
执行完之后,qemu虚拟机的磁盘就被mount到了宿主机的/mnt目录下面,就可以手动改文件了,改掉之后,不是立即生效的,需要把虚拟机重启掉。
相关链接
qemu虚拟机img挂载
ssh 错误
sudoers文件修复和建议
经验
- sudoers文件一定要用visudo来更改,直接vim太危险
- 知道怎么去挂载qemu的镜像到宿主机了