我正在编辑/etc/sudoers
文件并保存它,但其中有一个语法错误。现在我不能这样做,sudo vim /etc/sudoers
因为 sudo 认为 sudoers 文件无效。
我怎样才能解决这个问题?
答案1
将系统启动到单一模式,然后对其进行编辑。
答案2
您永远不应该直接编辑 sudoers 文件。使用visudo
- 它将保护您免受将来出现的这些语法错误的影响。
要从这种情况中恢复,请启动到单用户模式并编辑文件或从 livecd 启动并执行相同操作。
答案3
如果你已经安装了 Docker,并且你的用户是该组的成员,那么docker
你可以轻松地摆脱这个困境(以及其他一些困境),而无需重新启动或执行其他操作:
$ docker run -it --rm -v '/etc/:/root/host.etc/' debian bash
apt-get update && apt-get install [vim|nano|whatever]
cd ~/host.etc/
- 修复问题文件
exit
答案4
顺便说一句,如果您有 root 密码,只需使用该密码登录并将其恢复原状。
chmod 0440 /etc/sudoers
这将避免您启动到单用户模式或者更糟糕的是从 livecd 启动。
就我而言,我无法承受服务器瘫痪的后果。