小记Linux/UNIX下错误权限恢复

658 查看

原文请猛戳:
http://galoisplusplus.gitcafe.io/blog/2016/02/16/how-to-fix-wrong-chmod-777-problem/

继我不久前犯二之后,今天一位同事小伙伴也逗逼了,给/etc/sudoers加了777权限...6666结果sudo就悲剧了:

sudo: /etc/sudoers is mode 0777, should be 0440
sudo: no valid sudoers sources found, quitting 

我一开始还想用pkexec恢复:

pkexec chmod 0440 /etc/sudoers

不料机器上木有装PolicyKit...

后来小伙伴找SA要root密码搞定了。不过这倒勾起了我的好奇心:这种悲剧除了pkexec、除了拿到root权限(包括重启系统进恢复模式)执行复原操作,还会有怎样的解决方案?后来查到了《sudo chmod 777 / 惨剧修复简单步骤》这篇文章,发现获取和设置UNIX文件Access Control List (ACL)的命令getacl/setacl还能有这种妙用,这便是我所找的答案了:

参考资料

  1. http://superuser.com/questions/300743/sudo-chmod-r-777

  2. Wrongly set chmod / 777. Problems?

  3. sudo error, is mode 0777, should be 0440

  4. Getting message “sudo: must be setuid root”, but sudo IS already owned by root