无法编辑 sudoers 文件

无法编辑 sudoers 文件

我想删除文件“sudoers”中的一行,但我无法编辑该文件,出现错误:

****@****:~$ sudo vim /etc/sudoers
>>> /etc/sudoers: syntax error near line 16 <<<
sudo: parse error in /etc/sudoers near line 16
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

我尝试了两种不起作用的解决方案:

  • 复制主目录中的文件以对其进行编辑。
  • 使用命令pkexec visudo>>> /etc/sudoers: syntax error near line

答案1

如果运行sudo cat /etc/sudoers(或pkexec cat /etc/sudoers),您应该会在输出顶部附近看到一条警告:

# 该文件必须以 root 身份使用 'visudo' 命令进行编辑

换句话说,在正常情况,你应该运行sudo visudopkexec visudo。作为visudo 联机帮助页会告诉你,

维苏多以安全方式编辑 sudoers 文件,类似于 vipw(8)。 visudo 锁定 sudoers 文件,防止同时进行多个编辑,提供基本的健全性检查,并检查解析错误。如果您使用例如 编辑文件sudo vim /etc/sudoers,您将无法获得 visudo 语法检查的好处。

如果正常流程不起作用,您可能需要从Live CD或USB启动,挂载所在分区/etc/sudoers并删除无效行。请注意,visudo -corvisudo --check允许您检查语法而不实际修改文件。

相关内容