不小心使用sudo chmod -R 777 / 修改根目录权限,导致如下问题:
- sudo不可用,很多权限验证无法使用
- 没有wifi列表
- cups进程(主要是服务于打印机)占用100%cpu,不停往/var/log/error_log里写,不断吞噬存储空间
- 中文输入法失效
方法:修复根目录下文件的权限 这中间有一些坑,需要注意。
由于刚开始并不知道是修改了权限的问题,所以开始主要解决sudo不可用的问题。解决sudo不可用的问题对之后解决整个问题也是必须的。
解决sudo不可用的问题:修改/usr/bin/sudo归属和权限
- chown root:root /usr/bin/sudo
- chmod 4755 /usr/bin/sudo
但是这两条命令都需要root权限,由于我没有root用户,所以就只能通过进入recovery模式获得root权限,具体的方法可以百度得到:修改/usr/bin/sudo归属和权限
经验教训:一定要设置一个root用户,以防不知之需。
接下来就是修复根目录下文件的权限:可以参见这个
ubuntu 有两个命令可以实现:getfacl、setfacl
在一台相同系统和相同版本的内核的ubuntu系统上使用:getfacl -R / > ./systemp.bak
将systemp.bak 文件拷贝到待修复的电脑上,在根目录下执行