我正在尝试允许用户将目录 rsync 到远程服务器,同时将上传的文件/目录的用户和组更改为nobody:nogroup
。
每个用户都可以通过自己的用户名通过 SSH 访问服务器。这些用户已经是nogroup
远程服务器上的组成员。这允许我更改文件组,但不能更改用户。
我不想允许用户以 root 身份使用 SSH。
我不知道如何在远程服务器上设置权限,以便文件可以“交给”用户nobody
。
这是我正在尝试运行的命令:
rsync -av --owner=nobody --group=nogroup testdir 123.123.123.123:/mnt/storage/
答案1
-o,--所有者此选项使 rsync 将目标文件的所有者设置为与源文件相同,但仅当接收 rsync 以超级用户身份运行时(另请参阅 --super 和 --fake-super 选项)。若没有此选项,则新文件和/或传输文件的所有者将设置为接收方的调用用户。
因为你的用户不是目标服务器上的超级用户无法更改所有者权限。对于--owner
和--usermap
也是如此--chown
(只需检查手册页中的相关选项)。您可以尝试该--fake-super
选项以寻求可能的解决方法。
这就是说,保存通过 复制/备份文件时原始用户/组rsync
。