Ubuntu 误修改 /usr 权限后的修复记录
==================================
问题描述
--------
在一次误操作中执行了以下命令:
sudo chmod 666 /usr/
该命令错误地将 /usr 目录的权限修改为 rw-rw-rw-,导致包括 sudo 在内的许多系统命令无法执行,因为缺失了目录的执行权限。
问题表现
--------
- sudo 无法使用或执行时无反应
- 系统大部分命令无法使用(如 apt, python3, bash, ls 等)
- /usr/bin, /usr/lib, /usr/sbin 等目录内程序不能执行
恢复步骤
--------
1. 使用 root 权限登录
由于 sudo 无法使用,直接使用 root 用户登录系统。
2. 恢复基础目录权限
执行以下命令:
chmod 755 /usr
chmod -R 755 /usr/bin
chmod -R 755 /usr/lib
chmod -R 755 /usr/sbin
chmod -R 755 /usr/local
这些权限基本能让大部分程序恢复可执行状态。
3. 恢复 sudo 的 setuid 权限
chmod 4755 /usr/bin/sudo
确保输出为:
-rwsr-xr-x 1 root root ... /usr/bin/sudo
4. 检查关键命令是否正常
which sudo
which python3
which bash
sudo ls
如输出正常,说明恢复成功。
避免类似误操作:
- 对系统目录(如 /usr, /bin, /lib 等)禁止使用 chmod, chown, rm -rf 等破坏性命令
- 可以考虑使用 alias chmod='echo "Use with caution!"' 为普通用户添加保护