我在 /etc 中编辑了我的 sudoers 文件,之后我就不能再使用 sudo 了。每当我发出命令时,都会出现这种情况:
sudo: >>> /etc/sudoers: syntax error near line 30 <<<
sudo: parse error in /etc/sudoers near line 30
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
如何解决?
答案1
遇到了同样的问题,
sudo: >>> /etc/sudoers: syntax error near line 25 <<<
sudo: parse error in /etc/sudoers near line 25
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
修复此问题的更简单的方法是:
pkexec visudo
答案2
从 GRUB 菜单启动到恢复模式(启动时按住 SHIFT 键即可显示此菜单),进入 root shell。
首先,您需要有写权限才能编辑 sudoers,因此运行
mount -o remount,rw /
然后使用
visudo
并恢复您的错误。visudo
将检查生成的 sudoers 文件是否符合所需的语法。默认情况下
visudo
使用vi
编辑器,但您可以通过环境变量告诉它使用您最喜欢的文本编辑器EDITOR
,例如:EDITOR=nano visudo
答案3
这为我解决了同样的问题:
pkexec chmod 440 /etc/sudoers
pkexec chmod 775 /etc/sudoers.d
pkexec chmod 440 /etc/sudoers.d/README
答案4
您还可以/etc/sudoers
使用任何喜欢的文本编辑器进行编辑:
EDITOR=gedit visudo
可以使用 gedit 来执行此操作。但您应该从 shell 运行它。否则您将无法读取错误消息。