如何使用 rsync (chown chmod) 设置目标权限

Rog*_*asy 22 linux fedora rsync

我正在尝试从安装点到本地文件夹进行本地 rsync。我需要将所有者、组和权限设置为特定设置。这是我正在使用的:

 rsync -rtlv --chown=process:sambausers --chmod=D770,F770 /mnt/owncloud_mnt/Engineering/ /Drive_D/docs/Engineering_test
Run Code Online (Sandbox Code Playgroud)

我最终在目录和文件上获得了 760 的权限,在所有权上获得了 root:root 权限(rsync 以 root 身份运行)。

我究竟做错了什么?

TIA

小智 26

需要告诉 rsync 您要设置权限和所有者/组信息。假设有--chmod--chown会告诉他们但他们没有这样做是合乎逻辑的。

对于传播权限,您需要--permsor-p标志,而对于所有者/组,您需要为所有者/组/权限信息设置--owner --groupor-og标志。

文档写得有点不清楚,因此不清楚如何使用不同的组合处理权限或现有文件是否受到影响。


小智 5

我发现同一问题的这个 StackOverflow 版本更有帮助,因为 Roger 和我的 rsyncs 似乎对格式有不同的偏好--chmod(我的是 Debian 软件包中的 3.1.3)。

正如 Sami 所说,rsync 需要被告知“权限”,所以要么包含-p,要么通过使用隐式包含它-a。但是,要让命令实际运行,您需要(例如,对于目录 755 和文件 644)--chmod=Du=rwx,Dg=rx,Do=rx,Fu=rw,Fg=r,Fo=r,而不是“D755,F644”格式。