Linux 仅备份文件权限而不是文件本身

1、安装ACL工具

# yum install acl

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

备份/root目录及递归子目录的ACL(access ctrol list)访问控制列表

# getfacl -R --absolute-names /root > root_permissions.txt

此命令将所有文件的ACL信息全部写入名为root_permissions.txt文件。

注:-R表示递归备份子目录的acl;--absolute-names表示不去掉/符号,意味着使用绝对路径,这个参数对将来恢复文件的acl权限非常有用。

备份后,修改某个文件的权限,例如test.sh文件原来是777,我们改成700

# ls -l

-rwxrwxrwx  1 root root       83 May  6  2015 test.sh

……

# chmod 700 test.sh

-rwx------  1 root root       83 May  6  2015 test.sh

3、恢复/root目录及子目录的ACL权限

# setfacl --restore=root_permissions.txt

执行正确后没有任何输出

注:因为getfacl时加了--absolute-names参数,所以恢复时可以在任何路径下,非常方便,减少错误发生。

查看文件权限已经恢复如初了

# ls -l

-rwxrwxrwx  1 root root       83 May  6  2015 test.sh

……


你可能感兴趣的:(Linux 仅备份文件权限而不是文件本身)