Linux目录结构完全备份需显式启用ACL支持:先用getfacl -R导出ACL至文本文件,或tar --acls打包;恢复时须目标文件系统已挂载acl选项,再执行setfacl --restore或tar --acls -x还原,并验证mask与实际访问权限。

Linux 目录结构的完全备份,若需保留 ACL(访问控制列表)信息,不能仅靠 tar 或 rsync 默认行为——它们不保存 ACL 条目。必须显式启用 ACL 支持并配合专用工具操作。
确认文件系统支持 ACL
ACL 依赖内核和文件系统支持。主流发行版(ext4/xfs/btrfs)通常默认启用,但仍建议验证:
- 检查挂载选项:
mount | grep " $(df . | tail -1 | awk '{print $1}') ",确认输出含acl - 查看文件系统默认挂载参数:
tune2fs -l /dev/xxx | grep "Default mount options",应含acl - 若缺失,需重新挂载:
mount -o remount,acl /mount/point
备份目录结构 + ACL 元数据
ACL 本身是元数据,不随文件内容写入归档。需分两步:先备份文件内容(含所有权、时间戳),再单独导出 ACL 规则。
Linux AI 服务器 — 将 Linux 服务器转换为本地 AI 推理集群。使用 systemd、NVIDIA CUDA 实现无头 Linux AI,零 GUI 开销。
- 用
tar保存基础结构(需--acls参数):tar --acls -czf backup_struct.tar.gz /path/to/dir - 或更通用方式:用
getfacl -R导出所有 ACL 到文本文件:getfacl -R /path/to/dir > acl_backup.acl - 建议同时记录基础权限与属主:
ls -lR /path/to/dir > permissions_listing.txt
恢复时同步还原 ACL
仅解压 tar 不足以还原 ACL;必须执行 ACL 恢复步骤。
- 先解压结构:
tar -xzf backup_struct.tar.gz -C /restore/path - 再应用 ACL:
setfacl --restore=acl_backup.acl(需在目标目录下执行) - 若用
tar --acls备份,解压时加--acls即可自动还原(但部分旧版 tar 可能忽略,默认仍推荐显式 restore) - 注意:恢复前确保目标文件系统已挂载
acl选项,否则会报错“Operation not supported”
验证 ACL 是否生效
恢复后务必验证,避免静默失败。
- 抽查关键文件:
getfacl /restore/path/somefile,比对是否含预期 user/group 条目 - 测试实际访问:切换至被授权用户,尝试读写操作
- 检查 mask 是否合理(ACL 中的 mask 控制有效权限上限,有时需手动调整:
setfacl -n -m m::rwx dir)

















