So legen Sie Datei- / Ordnerberechtigungen mit Rsync von Windows auf Linux fest

11

Ich möchte viele Dateien / Ordner mit Rsync von Windows auf Linux übertragen. Auf dem Linux-Server (Ziel) soll die Dateiberechtigung auf 644 und die Ordnerberechtigung auf 755 festgelegt werden. Wenn möglich, soll der Besitz für alle Dateien / Ordner auf root.root festgelegt werden. Ich habe die Option -p ausprobiert, aber sie funktioniert nicht. Vielen Dank für jede Hilfe.

garconcn
quelle
Versuchen Sie es umask 022vor Ihrer Kopie.
BillThor

Antworten:

23

Sie können die Dauerwellen mit dem --chmodParameter z

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

DErzwingt , dass die Berechtigungen für irectories auf 755 und für iles auf 644 Ffestgelegt werden.

Iain
quelle
Vielen Dank. Der Ordner scheint sich in 744 (drwxr - r--) zu ändern. Wie auch immer, ich beschließe, die Erlaubnis nach der Übertragung zu ändern.
Garconcn
7
Das --chmodakzeptiert auch Oktalmodus-Nummern, was meiner Meinung nach einfacher ist, die erteilte Erlaubnis zu visualisieren:--chmod=D2775,F664
Fred Wuerges
Sie können auch verwenden --chmod o=rX, um Ordnern automatisch das xFlag zu geben, es jedoch in Dateien wegzulassen.
Hachre
Müssen Sie auch angeben --perms?
OrangeDog
9

Die oben erwähnte --chmod-Argumentsyntax ist nicht ganz genau. Wenn Sie Eigentümer, Gruppe oder andere angeben und kein "D" oder "F" voranstellen, wird dies auf alle Dateitypen angewendet und der letzte gefundene Parameter wird als Standard angewendet. Dies würde erklären, warum Ihre Verzeichnisse als 744 ausgegeben wurden, da der letzte Parameter im Argument og = r war.

Versuchen Sie stattdessen Folgendes:

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