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

我想从一台机器执行增量备份(对于整个文件系统). rsync确实会这样做,但是我想保留文件所有权 – 这意味着可以恢复它.

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

一些想法……

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

解决方法

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

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

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

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)

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

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

相关文章

insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...