](https://linux22.com/image/162204/%E8%A2%AB%20sudoers%20%E6%96%87%E4%BB%B6%E9%94%81%E5%AE%9A%20%5BOSX%5D%EF%BC%88%E2%80%9C%E4%B8%8D%E5%9C%A8%20sudoers%20%E6%96%87%E4%BB%B6%E4%B8%AD%E3%80%82%E6%AD%A4%E4%BA%8B%E4%BB%B6%E5%B0%86%E8%A2%AB%E6%8A%A5%E5%91%8A%E3%80%82%E2%80%9D%EF%BC%89.png)
我之前不小心弄乱了 sudoers 文件并开始收到以下错误:
>>> /etc/sudoers: syntax error near line 1 <<<
sudo: parse error in /etc/sudoers near line 1
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
我尝试按照这篇文章告诉我的去做:https://astrails.com/blog/2009/09/29/how-to-fix-a-hosed-etc-sudoers-file-on-mac-osx
我跑了vim /etc/sudoers
,看到一个空白文件,只有两个大括号,如下所示:
{ } ~ ~ ~ ~
我尝试注释掉大括号,保存文件(尽管有“只读”警告),退出,然后运行 sudo visudo,这给了我这个错误:
john is not in the sudoers file. This incident will be reported.
看来我已经无法使用 sudo 了。有什么方法可以解决这个问题吗?我使用的是 2017 年版 Mac,运行 Mojave 10.14.4。我知道我不应该弄乱该文件,但只是好奇......
答案1
我想到了:
我确实按照 @muru 的建议将干净的 sudoers 文件复制到损坏的文件中,并且它有效。我使用了以下文件(我被告知它是在原始 OSX 中提供的):paste.md-5.net/fipapovuye.shell 我能够在查找器中导航到该文件 --> 单击“获取信息”(文件properties) --> 将用户添加到底部的权限选项卡并赋予用户读+写权限。然后我使用 vim 复制粘贴内容,并保存文件。