远程桌面连接MacOS改坏了sudo,如何利用MacOS自身的机制自救

时间:2021-08-04 22:29:35

错误详情:

>>> /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,定位到这里:

远程桌面连接MacOS改坏了sudo,如何利用MacOS自身的机制自救

右键单击,点击Get Info,随后显示如下所示:

远程桌面连接MacOS改坏了sudo,如何利用MacOS自身的机制自救

点击右下解的解锁按钮,弹出一个申请权限的用户界面,在这里输入用户名密码:

远程桌面连接MacOS改坏了sudo,如何利用MacOS自身的机制自救

输入正确后点击OK按钮,接下来可以设置/etc/sudoers本身的权限了。这里我全部改为可读写,如下图所示:

远程桌面连接MacOS改坏了sudo,如何利用MacOS自身的机制自救

下面单击右下解的锁图标,使权限修改生效。

远程桌面连接MacOS改坏了sudo,如何利用MacOS自身的机制自救

下面,不用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'

结果仍然提示权限不足。