如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接信息。

mac环境,为了解决sudo识别自定义命令的问题,按着网上的错误教程,苏南大叔错误地修改了sudo的配置文件/etc/sudoers。结果,悲剧就这么发生了,再使用sudo命令的话,命令行报错。而修复文件/etc/sudoers文件,又必须使用sudo,基本上就是陷入死循环了。

sudo 命令报错,如何修复 /etc/sudoers 文件? - 被修复的sudo
sudo 命令报错,如何修复 /etc/sudoers 文件?(图3-1)

本文描述的是:/etc/sudoers这个文件的修复过程。测试环境是mac,其它的类linux系统也是有参考意义的。

修改/etc/sudoers的过程

当然,这里并不推荐您修改这个/etc/sudoers这个文件,因为是非常危险的行为。修改之前,请注意备份文件。

cp /etc/sudoers /etc/sudoers_bak

正确的修改方式:

sudo visudo

错误的修改方式是:

千万不要修改/etc/sudoers的文件权限,改不回去!!!
chmod 777 /etc/sudoers 
vi /etc/sudoers 
// 修改过程
chmod 440 /etc/sudoers

可能遇到的报错信息

苏南大叔再次警告您,这么做是十分危险的!修改之前,请做好思想准备!

错误地修改了文件内容,报错如下:

>>> /etc/sudoers: syntax error near line 46 <<<
sudo: parse error in /etc/sudoers near line 46
sudo: no valid sudoers sources found, quitting

错误地修改了文件权限,报错如下:

$ sudo chmod 777 /etc/sudoers
Password:
$ sudo chmod 440 /etc/sudoers
sudo: /etc/sudoers is world writable
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

sudo 命令报错,如何修复 /etc/sudoers 文件? - sudo错误提示信息
sudo 命令报错,如何修复 /etc/sudoers 文件?(图3-2)

sudo命令修复方案

要修复 /etc/sudoers 文件,必须使用sudo 命令。要使用sudo 命令,/etc/sudoers 文件就不能出错。先有鸡还是先有蛋?这是个悖论!把/etc/sudoers文件搞坏掉之后,唯一的修复方案,就是:单用户模式。

操作过程是这样的:

newsn.net:这里是【评论】可见内容

然后会进入一个字体特别小的命令行界面,几千行指令从眼前瞬间飞过。

sudo 命令报错,如何修复 /etc/sudoers 文件? - 修复过程
sudo 命令报错,如何修复 /etc/sudoers 文件?(图3-3)

检测硬盘(可选)

有的教程会提示说,要执行硬盘检测命令。但是,这个命令可以跳过的。大家可以试试不执行这个问题。

/sbin/fsck -fy

回车后检测硬盘,要等待几分钟的样子。检测过程,大概会分为十个步骤操作。命令结束后,会有滴的声音提醒。

改为可写状态(必选)

这条命令是必须执行的,否则修改/etc/sudoers文件的时候,会有read only之类的错误提示。

/sbin/mount -uw /

这个时候,单用户模式已经获取到了可写权限,可以继续修复sudo的配置文件/etc/sudoers了。

具体修复过程

如果您的错误是:syntax error near line。那么您需要修改/etc/sudoers文件。

vi /etc/sudoers

如果您的错误是:/etc/sudoers is world writable。那么您需要修改文件权限。

chmod 440 /etc/sudoers

修改好之后,重启电脑即可。

reboot

总结

这个/etc/sudoers文件是千万不能乱动的,它就是和selinux一样,动了就很有可能会出各种各样地问题,修复的话,就会异常麻烦了。所以,大家请千万小心操作,如果您确定知道自己在做什么,那么再来操作这个/etc/sudoers文件。

更多mac经验技巧,请关注苏南大叔的博客文章。

 【源码】本文代码片段及相关软件,请点此获取

 【绝密】秘籍文章入口,仅传授于有缘之人   mac    sudo

本站的忠实读者小伙伴,正在阅读下面这些文章:

欢迎转载传播本篇原创文章,转载请保留链接及作者信息。
欢迎指正文字或逻辑错误,将会择优在文末列出您的信息。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

苏南大叔需要你的支持

感谢您的打赏,让我更有动力,将更多精彩教程文章,呈现给大家!谢谢!