0、序
在运维这条路上走久了,你能听到或者遇到这样的事情就越多,甚至是你自己干过的:
一个信心满满的运维人员一个不小心,输入 "chmod -R 777 /" 导致一个巨大的悲剧,然后整个部门从上到下被撸一顿。虽然说LSer的背锅能力很强大,但能少背就尽量少背。
在日常运维流水线上,我们可用于备份文件权限的工具很多,每个团队,每个队员所喜好的工具也各有不同,但目标是一致的。下面简单介绍使用getfacl和setfacl来备份恢复文件权限的方法。
1、命令简介
getfacl命令来自于英文词组”get file access control list“的缩写,其功能是用于显示文件或目录的ACL策略。对指定的文件或目录进行精准的权限控制,FACL是不二之选。对于每个文件,getfacl显示文件名、所有者、组和访问控制列表(ACL)。如果目录具有默认ACL,则获取facl还显示默认ACL。非目录不能具有默认ACL。
getfacl参数说明
setfacl参数说明
setfacl,顾名思义,设置文件或者目录访问控制列表,即ACL规则。这一般是用于对文件或者目录执行扩展授权,比如文件属于用户user1,但是希望给user2也添加授权,让user2也可以对文件进行操作,我们就可以通过setfacl命令实现。
2、步骤
2.1、备份
用getfacl 例子: getfacl -R /path/to/file > file_bak/path/to/file:需要备份权限的文件。
file_bak:最终的备份文件。
例如: getfacl -R usr >usr_backup.bak
查看内容:
2.2、恢复
用 setfacl 例子: setfacl --restore=file_bak /path/to/file
3、总结
运维工作就是这样,知道越多,越发现自己知道的越少。要想让自己知道的更多,日常工作中需要及时总结,转化为自己的技能。多项技能多条路。