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


11

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


尝试umask 022复制之前。
BillThor 2011年

Answers:


23

您可以使用--chmod参数设置烫发,例如

--chmod=Du=rwx,Dgo=rx,Fu=rw,Fog=r 

将强制将目录的权限设置为755,将文件的权限设置为D644 F


谢谢。该文件夹似乎更改为744(drwxr--r--)。无论如何,我决定在转让后更改许可。
garconcn

7
--chmod还接受八模数,这在我看来是比较容易想象许可给出:--chmod=D2775,F664
弗雷德Wuerges

您也可以使用--chmod o=rX来自动给文件夹x标记,但是从文件中忽略它。
hachre

您还需要指定--perms吗?
OrangeDog

9

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

尝试以下方法:

--chmod=Du=rwx,Dgo=rx,Fu=rw,Fgo=r
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.