使用 Rsync 将文件同步到服务器,同时无需 root 权限即可更改其所有权

使用 Rsync 将文件同步到服务器,同时无需 root 权限即可更改其所有权

我正在尝试允许用户将目录 rsync 到远程服务器,同时将上传的文件/目录的用户和组更改为nobody:nogroup

每个用户都可以通过自己的用户名通过 SSH 访问服务器。这些用户已经是nogroup远程服务器上的组成员。这允许我更改文件组,但不能更改用户。

我不想允许用户以 root 身份使用 SSH。

我不知道如何在远程服务器上设置权限,以便文件可以“交给”用户nobody

这是我正在尝试运行的命令:

rsync -av --owner=nobody --group=nogroup testdir 123.123.123.123:/mnt/storage/

答案1

rsync 手册页

-o,--所有者此选项使 rsync 将目标文件的所有者设置为与源文件相同,但仅当接收 rsync 以超级用户身份运行时(另请参阅 --super 和 --fake-super 选项)。若没有此选项,则新文件和/或传输文件的所有者将设置为接收方的调用用户。

因为你的用户不是目标服务器上的超级用户无法更改所有者权限。对于--owner--usermap也是如此--chown(只需检查手册页中的相关选项)。您可以尝试该--fake-super选项以寻求可能的解决方法。

这就是说,保存通过 复制/备份文件时原始用户/组rsync

相关内容