最近一直在思考一个问题,如果手抖不小心执行命令chmod 777 -R /,刚好没有系统备份,那就真的是悲剧了。生产系统的备份,真的是重中之重啊。

本次只讨论如何备份系统文件权限。

1、创建一个文件,用于测试。

[root@reed ~]# ll testfacl.txt -rw-r--r-- 1 root root 0 Mar 16 05:27 testfacl.txt

可以看出testfacl.txt文件权限为644。

2、备份当前目录下(包括子目录)所有文件的权限

[root@reed ~]# getfacl -R . >/tmp/facl.bak[root@reed ~]# grep "testfacl.txt" -A 5 /tmp/facl.bak  # file: testfacl.txt# owner: root# group: rootuser::rw-group::r--other::r--

3、修改文件权限

[root@reed ~]# chmod 777 testfacl.txt ;ll testfacl.txt -rwxrwxrwx 1 root root 0 Mar 16 05:27 testfacl.txt

4、恢复文件权限

[root@reed ~]# setfacl --restore=/tmp/facl.bak [root@reed ~]# ll testfacl.txt -rw-r--r-- 1 root root 0 Mar 16 05:27 testfacl.txt

可以看出,已经恢复之前备份的权限了。

防患于未然,最好给每个系统做一个文件权限备份,要不然免得欲哭无泪。

getfacl -R / >/tmp/a.facl