Comment définir les autorisations de fichier / dossier à l'aide de Rsync de Windows vers Linux

11

Je souhaite transférer de nombreux fichiers / dossiers de Windows vers Linux à l'aide de Rsync. Sur le serveur Linux (destination), je veux que l'autorisation de fichier soit définie sur 644 et l'autorisation de dossier sur 755. Si possible, je veux que la propriété soit définie sur root.root pour tous les fichiers / dossiers. J'ai essayé l'option -p, mais cela ne fonctionne pas. Merci pour toute aide.

garconcn
la source
Essayez umask 022avant votre copie.
BillThor

Réponses:

23

Vous pouvez définir les perms en utilisant le --chmodparamètre par exemple

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

forcera les autorisations à être définies sur 755 pour les Drépertoires et 644 pour les Ffichiers.

Iain
la source
Merci. Le dossier semble changer en 744 (drwxr - r--). Quoi qu'il en soit, je décide de modifier l'autorisation après le transfert.
garconcn
7
Le --chmodaccepte également les numéros de mode octal, ce qui à mon avis est plus facile à visualiser l'autorisation donnée:--chmod=D2775,F664
Fred Wuerges
Vous pouvez également l'utiliser --chmod o=rXpour attribuer automatiquement le xdrapeau aux dossiers , mais omettez-le des fichiers.
hachre
Devez-vous également préciser --perms?
OrangeDog
9

La syntaxe de l'argument --chmod mentionnée ci-dessus n'est pas tout à fait exacte. Lorsque vous spécifiez le propriétaire, le groupe ou autre, et que vous ne le faites pas précéder d'un "D" ou d'un "F", cela s'appliquera à tous les types de fichiers et appliquera le dernier paramètre trouvé par défaut. Cela expliquerait pourquoi vos répertoires sortaient en 744, car le dernier paramètre de l'argument était og = r.

Essayez plutôt ceci:

--chmod=Du=rwx,Dgo=rx,Fu=rw,Fgo=r
Ned W.
la source