我之前不小心弄乱了 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 复制粘贴内容,并保存文件。