使用 rsync 设置目标文件夹的权限和所有者组

使用 rsync 设置目标文件夹的权限和所有者组

我正在使用 rsync 将 html 页面传输到我的网络服务器:

rsync -r -og --chown=transfer:www-data webpage/* transfer@myserver:/path/to/wwwfolder/

我使用的是转账账户(专用于数据传输,仅限rssh的rsync和scp);传输用户是 www-data 组的成员,但其主要组是 Wizard; www-data 组是 www-data 用户的主要组,www-data 用户是运行 Web 服务器的用户。目标文件夹 wwwfold 不存在,是由 rsync 创建的。

通过此设置,我有两个与目标文件夹 wwwfolder 相关的问题:

  1. 创建的文件夹归transfer:wizard所有,因此Web服务器无法读取其内容。我怎样才能告诉rsync所有者应该是transfer:www-data?通过 --chown 标志为文件夹内容正确设置了该所有者,但容器文件夹似乎忽略了该标志

  2. 创建的文件夹具有 drwxrw-rw- 权限,因此即使我能够将所有者设置为transfer:www-data,但 Web 服务器仍然无法读取该文件夹,因为该组没有 X 权限。如何指定 rsync 的目标文件夹权限?

请注意,我不能简单地使用 ssh 登录并使用 chown/chomd,因为出于安全原因,服务器上传输用户的 shell 只接受 rsync 和 scp 命令。服务器和客户端上的rsync版本都是3.1.2协议版本31。

相关内容