Ich möchte rsync verwenden, um Dateien von meinem Computer auf ein entferntes Linux-System zu übertragen. Unabhängig vom Gruppenbesitz der lokalen Datei möchte ich diese Werte auf der Remote-Seite festlegen.
Wenn ich mich auf dem Remote-Linux-System befände, konnte ich das Verzeichnis erstellen und den Besitz und die Berechtigungen wie folgt festlegen:
mkdir my_directory
chown :my_group my_directory
chmod 775 my_directory
Wenn ich das Verzeichnis lokal erstelle und dann rsync verwende (denken Sie daran, ich habe my_group nicht lokal), mache ich Folgendes:
rsync -ae ssh --chmod=ug+rw,Dug+rwx my_directory remoteserver:dest
Das funktioniert, aber ich kann nicht herausfinden, wie der Gruppenbesitzer über rsync festgelegt wird. Wenn ich a mache chmod g+s dest
, hat my_directory den richtigen Gruppeneigentümer, aber alle darin enthaltenen Dateien haben den falschen Gruppeneigentümer.
permissions
rsync
ChrisInEdmonton
quelle
quelle
rsync -avz --delete --exclude "*.git" --chmod=ug=rwx,o=rx /cygdrive/d/projx/ [email protected]:/var/prox/
Die Dateien landen als john: john anstelle von john: projx ( wo projx der Name der Gruppe ist)--groupmap=*:group-name'
.. direkt nachdem ich ha gepostet habe.Antworten:
Genau in dieser Minute suche ich nach einer Möglichkeit, dies in der rsync-Operation selbst zu tun, im Gegensatz zu einer nachfolgenden Operation. Ich möchte, dass einige Dateien nicht weltweit lesbar sind und eine Gruppe zuweisen, wodurch der Zugriff auf die Remoteserverprozesse innerhalb dieser Gruppe eingeschränkt wird. Aber ich habe keinen gefunden.
Ich kann mir nur Folgendes vorstellen:
und dann ausführen:
quelle
Ich denke, das Flag -p fehlt in Ihrem Befehl.
quelle
-p
Flag ist implizit als Teil der-a
Option (Archiv) enthalten.