Ich versuche, einen lokalen Rsync von einem Mount-Punkt zu einem lokalen Ordner durchzuführen. Ich muss den Eigentümer, die Gruppe und die Berechtigungen auf bestimmte Einstellungen festlegen. Folgendes verwende ich:
rsync -rtlv --chown=process:sambausers --chmod=D770,F770 /mnt/owncloud_mnt/Engineering/ /Drive_D/docs/Engineering_test
Am Ende habe ich die Berechtigungen 760 für Verzeichnisse und Dateien sowie root: root im Besitz (rsync wird als root ausgeführt).
Was mache ich falsch?
TIA
Antworten:
rsync muss mitgeteilt werden, dass Sie die Berechtigungen und Eigentümer- / Gruppeninformationen festlegen möchten. Es wäre logisch anzunehmen, dass sie das haben
--chmod
oder--chown
sagen würden, aber sie tun es nicht.Für die Weitergabe von Berechtigungen benötigen Sie das Flag
--perms
oder-p
und für Eigentümer / Gruppe benötigen Sie--owner --group
oder-og
Flags, damit die Informationen für Eigentümer / Gruppe / Berechtigung festgelegt werden.Die Dokumentation ist etwas unklar geschrieben, daher ist nicht klar, wie die Berechtigungen mit verschiedenen Kombinationen behandelt werden oder ob vorhandene Dateien betroffen sind.
quelle
$(whoami)
Ich fand diese StackOverflow-Version derselben Frage hilfreicher, da Roger und ich anscheinend Rsyncs mit unterschiedlichen Einstellungen für das Format von haben
--chmod
(meine ist 3.1.3 aus einem Debian-Paket).Wie Sami sagte, muss rsync "Berechtigungen" mitgeteilt werden, also entweder einschließen
-p
oder implizit durch Verwendung einschließen lassen-a
. Damit der Befehl tatsächlich ausgeführt werden kann, benötigen Sie (z. B. für Verzeichnisse 755 und Dateien 644)--chmod=Du=rwx,Dg=rx,Do=rx,Fu=rw,Fg=r,Fo=r
anstelle des Formats "D755, F644".quelle