Linux权限备份核心是保留访问控制状态而非文件内容,需用getfacl -R导出ACL与基础权限,同步备份/etc/passwd、/etc/group及UID/GID归属快照,并结合cron定期归档与版本管理。

Linux系统维护中,记录并备份关键目录的权限映射表,核心目标不是备份文件内容,而是保留其访问控制状态——包括传统UGO权限、ACL扩展权限、属主/属组关系,甚至特殊权限(如SUID/SGID/Sticky)。这在误操作修复、系统迁移、合规审计或灾备恢复时极为关键。
用getfacl完整导出ACL与基础权限
ACL工具是Linux权限备份的事实标准,getfacl -R 能同时捕获POSIX基础权限和所有显式设置的ACL条目:
-
完整递归导出:运行
getfacl -R /etc > /backup/etc_permissions.acl,会记录每个文件/子目录的 owner、group、user::、group::、other:: 及所有附加的 user:xxx 和 group:xxx 条目 - 保留元数据结构:输出含 # file、# owner、# group 等注释行,确保 setfacl --restore 能精准还原层级关系
-
注意路径一致性:若备份路径为
/etc,恢复时需在相同挂载点下执行 restore,否则路径不匹配会导致失败
补充备份属主与属组归属关系
getfacl 不包含文件的 UID/GID 数值(仅显示名称),而 /etc/passwd 和 /etc/group 可能随时间变更。稳妥做法是:
Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...
- 同步备份用户与组数据库:
cp /etc/passwd /etc/group /backup/ - 或导出当前目录下所有文件的完整归属快照:
find /etc -printf '%p %u:%g\n' > /backup/etc_ownership.list - 这样即使系统重建,也能对照还原原始 UID/GID 映射,避免因用户重编号导致权限错位
对关键目录做轻量级权限快照(无需ACL)
若系统未启用ACL或仅需基础权限备份,可用 ls -lR 配合 awk 提取最小必要信息:
- 执行:
ls -lR /boot | awk '{print $1,$3,$4,$9}' > /backup/boot_perms_simple.txt - 输出格式为“权限 字符串 用户名 组名 文件名”,适合快速比对和人工核查
- 适用于 /boot、/grub 等通常无ACL但对启动至关重要的静态目录
自动化定期保存与版本管理
权限配置会随系统更新或人为调整变化,建议结合 cron 与简单版本控制:
- 每日凌晨执行:
0 2 * * * getfacl -R /etc /home /var/log > /backup/perm_$(date +\%F).acl - 保留最近7天:
find /backup -name "perm_*.acl" -mtime +7 -delete - 可选:用 git 管理 /backup 目录,每次变更自动 commit,便于追溯哪次更新引入了权限异常

















