嗯,我也遇到过这个问题,sudo的核心文件是/etc/sudoers但是sudoers不允许任何人有写入权。
最初,我先登录了root再调了下面👇这几条命令,然后就掉不了sudo了
cd /etc/
chmod 777 *
chmod 777 */*
chmod 777 */*/*
chmod 777 */*/*/*
chmod 777 */*/*/*/*
chmod 777 */*/*/*/*/*
相当于把etc下的文件全部设为可写了。
然后调sudo就会出现下面的内容:
sudo: /etc/sudoers is world writable
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
并且sudo后面的指令也调不了了。
如何解决呢?
这让我想起了之前自我修炼command、DOS命令时学到的:“系统文件管的很严,不准任何用户、群组有写入权”
然后我灵机一动,又调了下面👇的命令,进了root用户(至于登录root用户失败解决方案,文章末尾讲)
su root
进了root用户之后感觉执行最重要的命令:
chmod 440 /etc/sudoers
只要执行后没有回应(提示XXX)
那么执行非常成功,现在我们感觉退出root用户,因为停留在root用户可能会无意间破坏系统
exit
然后我们再掉一下sudo,是不是恢复以前的状态了呢?
附加:
登录root失败?
那是因为root的密码你不知道
现在执行passwd root
第一次啥都不写,直接回车
第二次输入新密码
第三次在输入一次即可。