backup – 使用rsync保留所有权,不带root权限

前端之家收集整理的这篇文章主要介绍了backup – 使用rsync保留所有权,不带root权限前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想从一台机器执行增量备份(对于整个文件系统). rsync确实会这样做,但是我想保留文件所有权 – 这意味着可以恢复它.

如果不在目标计算机上以root身份运行rsync(存储备份),是否可以这样做?@H_403_3@

一些想法……@H_403_3@

>有没有办法以允许非root用户chown的方式挂载文件系统(FUSE?)? (我想它可能需要noexec才能禁止提升.)
>某种方式来存储和恢复元数据文件中的所有权而不是文件系统本身?
> tar可以存储文件所有权,虽然让它与rsync或增量备份一起使用会涉及更多.能够像常规文件系统一样浏览备份也很好.
>也许某种假根环境?虚拟机可以工作,但是可以避免相关的维护和性能开销.@H_403_3@

解决方法

如其他答案中所述,要直接保留所有权信息,您需要对目标计算机进行root访问.

但是,您至少有两种解决方法可以在保留所有权的同时避免root访问:@H_403_3@

>使用–fake-super rsync选项.从手册页:@H_403_3@

When this option is enabled,rsync simulates super-user activities by
saving/restoring the privileged attributes via special extended
attributes that are attached to each file (as needed)@H_403_3@

这意味着所有权不是直接保留在经典的Unix风格中,而是所有权信息存储在一个特殊的扩展属性中(即:一种附加到文件的“标记”).还原时,rsync可以使用此EA /标记正确重建原始文件所有者.@H_403_3@

>不要让rsync保留所有权信息,而是使用getfacl实用程序保留它们.例如,发出getfacl -R MNTPOINT> acls.txt可以有效地将所有权(和ACL)信息保存在文本文件中,以后可以使用setfacl –restore命令恢复此类信息.@H_403_3@

猜你在找的Linux相关文章