![使用 rsync 设置目标文件夹的权限和所有者组](https://linux22.com/image/147146/%E4%BD%BF%E7%94%A8%20rsync%20%E8%AE%BE%E7%BD%AE%E7%9B%AE%E6%A0%87%E6%96%87%E4%BB%B6%E5%A4%B9%E7%9A%84%E6%9D%83%E9%99%90%E5%92%8C%E6%89%80%E6%9C%89%E8%80%85%E7%BB%84.png)
我正在使用 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 相关的问题:
创建的文件夹归transfer:wizard所有,因此Web服务器无法读取其内容。我怎样才能告诉rsync所有者应该是transfer:www-data?通过 --chown 标志为文件夹内容正确设置了该所有者,但容器文件夹似乎忽略了该标志
创建的文件夹具有 drwxrw-rw- 权限,因此即使我能够将所有者设置为transfer:www-data,但 Web 服务器仍然无法读取该文件夹,因为该组没有 X 权限。如何指定 rsync 的目标文件夹权限?
请注意,我不能简单地使用 ssh 登录并使用 chown/chomd,因为出于安全原因,服务器上传输用户的 shell 只接受 rsync 和 scp 命令。服务器和客户端上的rsync版本都是3.1.2协议版本31。