错误详情:
>>> /etc/sudoers: syntax error near line 45 <<< sudo: parse error in /etc/sudoers near line 45 sudo: no valid sudoers sources found, quitting
网上提供的资料都是命令行,全都行不通。我突发奇想,能不能像windows文件管理器一样给/etc/sudoers加一个写权限。
首先打开finder,定位到这里:
右键单击,点击Get Info,随后显示如下所示:
点击右下解的解锁按钮,弹出一个申请权限的用户界面,在这里输入用户名密码:
输入正确后点击OK按钮,接下来可以设置/etc/sudoers本身的权限了。这里我全部改为可读写,如下图所示:
下面单击右下解的锁图标,使权限修改生效。
下面,不用sudo,直接可以编辑此文件,运行:
vi /etc/sudoers
把刚才新加入的代码文本注释掉,保存退出。这个时候还不能运行sudo,因为系统会检查/etc/sudoers本身的权限是否符合要求。因此我们要把权限改回去,即system为Read Only
,wheel为Read Only
,everyone为No Access
。改回去可以sudo就可以正常使用了。
总结:CentOS和Ubuntu都有pkexec这个工具作为后备方法,但MacOS没有。CentOS与Ubuntu都有图形界面sudo方法,MacOS也有。所以命令行无法自救,而图形界面可以。
下面简单记录我的搜索和尝试历程,都是失败的操作。
根据网上查找的资料,一步一步尝试。
根据资料:https://www.cnblogs.com/mliudong/p/4076324.html,运行:
pkexec bash
结果pkexec不存在。
这里提供资料:
https://www.cnblogs.com/joyeecheung/p/3647195.html
http://yijiebuyi.com/blog/58f810c105029c29d1c885f4076dde66.html
https://blog.csdn.net/youyudexiaowangzi/article/details/48729897
可惜当前无法接触到苹果机器本身,只能远程操作。试试:
visudo
结果权限不足。搜索国外网站,找到资料:https://apple.stackexchange.com/questions/130171/using-visudo-to-edit-sudoers-on-mac。试运行:
EDITOR=nano visudo alias visudo='EDITOR=vi sudo visudo'
结果仍然提示权限不足。