如何修复/etc/sudoers:语法错误行号附近的问题

6

我是Ubuntu的新手。在使用Visual Studio Code编辑任何内容时,我必须输入密码。因此,我尝试在sudoers文件中进行更改,但之后我无法找到发生了什么,并且还收到以下错误。

我使用以下命令进行更改:

sudo nano -w /etc/sudoers

之后我按下了ctrl+x。

/etc/sudoers: syntax error near line 26 <<<
sudo: parse error in /etc/sudoers near line 26
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

谢谢。

4个回答

8

编辑:

在终端上输入以下命令:

pkexec nano /etc/sudoers

它将打开文件,现在您可以编辑。要保存并退出文件,只需按下:

Ctrl+X

它会询问您是否要保存文件。因此,请键入:YEnter。完成!!!


我不明白你的意思。能否请你告诉我什么是首选编辑器? - Dcoder14
我刚刚编辑了我的回答。希望能有所帮助。如果您还有任何问题,请告诉我 :) - Scott
Sherzod,在使用您提到的上述命令时,我遇到了相同的错误 - /etc/sudoers: syntax error near line 26 <<< sudo: parse error in /etc/sudoers near line 26 sudo: no valid sudoers sources found, quitting sudo: unable to initialize policy plugin。 - Dcoder14
现在它使用 "pkexec visudo" 打开了,您能告诉我如何保存更改并退出吗?我正在尝试但没有成功。 - Dcoder14
谢谢,与在恢复模式下重新启动的繁琐程序相比,这非常有用。 - Rγσ ξηg Lιαη Ημ 雷欧
显示剩余2条评论

2
we have to write -
pkexec visudo
And it will open the file and one need to change as previous if any made.
Then type Ctrl+X which will ask to save the file. So type: Y and Enter

谢谢您的内容,与在恢复模式下重启的繁琐流程相比,这非常有用。 - Rγσ ξηg Lιαη Ημ 雷欧

0

这应该会在nano中打开visudo。

$ export EDITOR=nano && sudo -E visudo

1
在这之后我该怎么做?因为当我尝试使用sudo命令时,我遇到了上述错误。 - Dcoder14
啊,抱歉我的错误,我以为它没有正确打开。在sudoers文件损坏的情况下,我认为最好在这里回答:[链接](https://askubuntu.com/questions/73864/how-to-modify-an-invalid-etc-sudoers-file) - Cameron Milton

-2
如果您正在使用WSL 2(Windows子系统Linux 2)的Ubuntu 20.04 LTS,并且遇到sudoers文件的问题,您可以按照以下步骤解决问题: 打开一个新的命令提示符或PowerShell窗口。 运行以下命令以root用户身份访问WSL shell:

wsl -u root

-编辑sudoers文件: nano /etc/sudoers

纠正语法错误:

**导航到错误消息中提到的行。 纠正语法错误。注意sudoers文件条目的正确语法。 退出Root Shell:

Ctr+X Ctr+Y Enter

测试sudo是否再次工作 sudo ls

哇,sudo已经修复了。


永远不要使用除了visudo命令以外的任何方式编辑/etc/sudoers文件。 - undefined
有时候,如果你的/etc/sudoers文件有一些错误,visudo命令可能无法正常工作。这适用于那些使用Ubuntu WSL的用户。 - undefined
除非你能提供一些证据,否则那就是垃圾。visudo在编辑sudo策略时提供了一个安全网。它会检查文件的有效性。这是应用程序的重要部分,也是你应该编辑sudoers文件的唯一方式。一个损坏的visudo意味着一个损坏的sudo软件包。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接