错误操作
用root用户chmod 777 -R
更改了/etc
文件夹下的所有文件的权限,当然包括sudoers的权限,所以导致sudo报错。
sudo: /etc/sudoers is world writable
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
解决方法
1、如果你完全使用不了sudo,并且进入不了root
解决方案是将/etc/sudoers
修改为444
:
pkexec chmod 0440 /etc/sudoers
pkexec命令表示直接以root权限执行命令。
接下来你可能可以使用sudo,但是依然会warning:sudo: /etc/sudoers is world writable
,根据第二步方法操作即可。
2、如果你还能进入root
如果没有root密码请先设置root密码(有且知道请忽略)
如果你没有root密码,或者不太清楚,请先:
sudo passwd root
给root设置一个密码,然后再登录:
登录root
sudo su
输入你的root密码即可。
修改权限
chmod 440 /etc/sudoers
chmod 775 /etc/sudoers.d
chmod 440 /etc/sudoers.d/README
即可消除报错。
参考文章: