注意
如果Linux整个系统文件权限都被设置为777
,请不要重启系统,因为很多同学认为万能的重启
能解决98%的问题。重启后权限就能恢复。但这次请不要重启系统,如果重启系统,系统直接损坏。
解决思路
虽然损坏的服务器没有权限备份,但是可以找一台与这台损坏的服务器系统版本一样
的机器进行整个系统权限备份。在把备份文件拷贝到损坏的服务器上进行权限恢复。
具体操作
注意:这里所有操作,需要使用 root 用户来执行
1、找一个系统版本一样的服务器上操作权限备份
# 备份整个系统权限
$ getfacl -R / > /data/system-all-permissions.facl
2、恢复整个系统权限,在损坏的机器上操作
# 拷贝备份权限文件
$ scp root@192.168.1.10:/data/system-all-permissions.facl /data/
# 恢复整个系统权限
$ setfacl --restore=/data/system-all-permissions.facl
# 权限恢复完,可以找一个业务低峰重启机器
$ reboot
演示
故意把 test
目录权限全部设置成 777
,然后对 test
目录做权限恢复。
1、首先备份 test
目录权限
# test 目录结构
$ tree test
test/
└── test1
└── test1-1
├── hello1
└── hello