昨天手贱,执行命令的时候输错了,结果输入了以下命令:
chmod -Rf 777 /
可想而知,得到的回报惊人哈哈,我现在之所以还笑的出来,是因为折腾了半天已经修复了这个问题了。
先来复盘一下问题解决的过程吧
错误原因
失误导致的,本来想输入 chmod -Rf 777 ./
结果打完了没好好确认,眼睁睁的执行了 chmod -Rf 777 /
。这个命令的威力,可以说是仅次于 rm -rf /
。
操作完该命令后,也没太在意,就推出 root 用户了。😭
犯错后果
执行完 chmod -Rf 777 /
后,有两种可能的场景。
- 如果没有退出 root 用户,那么在当前 root 下,继续执行一系列恢复权限的操作,该问题就能轻松解决了,具体参考解决办法最后执行的几个命令。
- 如果已经推出了 root 用户,那么会出现 “非 root 用户失去 sudo 权限” 报错:
sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set
,“root 用户/非 root 用户均无法再登陆系统” 等一系列问题。直接导致系统不可用,解决办法参考下面章节,需要进入 recovery mode 进行权限修复。
解决步骤
首先,重启电脑,连续点按 ESC 进入系统选择菜单: