滥用“Chmod 777 -R /”后的补救措施

很早就听人说过不要乱改 Linux 根目录下的文件,尤其不要使用 rm -rf /*,不过为了在登录时少输入一次密码,我使上了 chmod 777 -R /,本以为登录会更便捷,谁知连系统都无法登录进入了。

解决办法如下:

1. 找到另外一台系统相同的正常机,执行以下内容:

getfacl / -R >/root/facl.txt
find / -type f -perm -02000 >/root/file200.txt
find / -type f -perm -04000 >/root/file400.txt

2. 将正常机中 /root 下生成的 facl.txt、file200.txt 及 file400.txt 三个文件拷贝到异常机的 /root 目录下,新建 changemod.sh 后复制到异常机 root 目录(复制文件可能需要 LiveCD),内容如下:

#!/bin/bash
for i in `cat /root/file400.txt`
do
chmod u+s $i
done
for j in `cat /root/file200.txt`
do
chmod g+s $i
done
chmod o+t /tmp /var/tmp

3. 在异常机中分别键入以下两段(忘了是在 LiveCD 下还是 恢复模式 中了)

cd /
setfacl --restore=/root/facl.txt
cd /root
dos2unix changemod.sh
chmod +x changemod.sh
./changemod.sh

至此,重启正常开机。

文中方法来源于网络,测试可行,作备份……

文章作者
发布时间
分类
标签