须藤不起作用

Dom*_*nic 14 sudo

我在 /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
Run Code Online (Sandbox Code Playgroud)

如何解决?

小智 26

遇到了同样的问题,

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
Run Code Online (Sandbox Code Playgroud)

更简单的修复方法是:

pkexec visudo 
Run Code Online (Sandbox Code Playgroud)

  • 我相信这仅在您当前用户有密码时才有效,例如,对于那些使用未设置密码 ssh 进入机器的人来说,它会失败。 (2认同)

小智 10

从 GRUB 菜单启动到恢复模式(在启动过程中按住 SHIFT 键以显示此菜单),进入 root shell。

  1. 首先你需要写权限来编辑sudoers,所以运行

    mount -o remount,rw /
    
    Run Code Online (Sandbox Code Playgroud)
  2. 然后使用visudo并恢复您的错误。visudo将检查生成的 sudoers 文件是否符合所需的语法。

    默认情况下visudo使用vi的编辑器,但你可以告诉它使用自己喜欢的文本编辑器的EDITOR环境变量,例如:

    EDITOR=nano visudo
    
    Run Code Online (Sandbox Code Playgroud)

  • 请在您的回答中包含使用“visudo”对“sudoers”文件进行任何更改的建议。 (2认同)