我有两台具有相同用户的计算机,me@Home 和 me@Work。我通常通过将 Work 带回家(它是一台笔记本电脑)并通过 LAN 进行 rsync 来保持他们的文件夹同步。然而,现在我不再把 Work 带回家了,所以我开始使用大学的 ssh 服务器来保持我的计算机同步。
me@Work -> my_name@Uni
me@Home <- my_name@Uni
但是,当从 Work 同步到 Uni 时,使用-avuz
应保留所有权的 ,文件所有权会丢失。我做了一些测试,问题似乎是大学中无与伦比的“我”用户。不仅如此,www-data 拥有的目录也没有保留其所有权(因为 Uni 也没有这样的用户),可以想象,这给我带来了一些麻烦。我没有 Uni 的 root 访问权限,也无法更改我的用户名。无论如何,我可以在不自己设置 ssh 服务器或开始将工作带回家的情况下完成这项工作吗?
答案1
rsync
如果目标系统上的非 root 用户运行它,则无法保留所有权,因为只有超级用户才可以创建其他人拥有的文件。而不是使用在中间系统上rsync
创建文件。tar
然后,当您在最终目标系统上恢复它时,您可以以 root 身份执行此操作,以便授予文件的原始所有权。
答案2
所有权被保留,但可能在两个环境中没有相同的用户。检查两台服务器中示例用户 www-data 的用户 ID 并进行比较。
您可能会看到另一个名称,但 id 是相同的