我正在编辑我的/etc/sudoers文件并保存,但是在那里有一个语法错误。 现在我不能sudo vim /etc/sudoers因为sudo认为sudoers文件是无效的。
我该如何解决这个问题?
将系统引导至单一模式,然后进行编辑。
你不应该直接编辑你的sudoers文件。 使用visudo – 它将在未来保护你免受这些语法错误。
要从这种情况下恢复,可以启动到单用户模式,编辑文件或从livecd启动,并执行相同的操作。
正如在askubuntu上这个类似的问题所指出的那样 ,这可能不需要重启到单用户模式就可以工作:
pkexec visudo
顺便说一下,如果你有root密码,只需login它并将其设置回原来的样子。
chmod 0440 / etc / sudoers
这将避免您启动到单用户模式或最糟糕的,从livecd启动。
在我的情况下,我不能把服务器closures。
如果您安装了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