如何使用 Rsync 从 Windows 到 Linux 设置文件/文件夹权限

gar*_*ncn 16 windows permissions rsync chmod

我想使用 Rsync 将大量文件/文件夹从 Windows 传输到 Linux。在 linux 服务器(目标)上,我希望文件权限设置为 644,文件夹权限设置为 755。如果可能,我希望所有文件/文件夹的所有权设置为 root.root。我试过 -p 选项,但它不起作用。感谢您的任何帮助。

use*_*517 30

您可以使用--chmod参数设置权限,例如

--chmod=Du=rwx,Dgo=rx,Fu=rw,Fog=r 
Run Code Online (Sandbox Code Playgroud)

将强制将文件的权限设置为 755D和 644 F

  • `--chmod` 也接受八进制模式数字,在我看来,这更容易形象化给出的权限:`--chmod=D2775,F664` (9认同)

小智 11

上面提到的 --chmod 参数语法不太准确。当您指定所有者、组或其他时,并且不在其前面加上“D”或“F”,它会将其应用于所有类型的文件,并将应用它找到的最后一个参数作为默认值。这将解释为什么您的目录显示为 744,因为参数中的最后一个参数是 og=r。

试试这个:

--chmod=Du=rwx,Dgo=rx,Fu=rw,Fgo=r
Run Code Online (Sandbox Code Playgroud)