Wie setze ich Zielberechtigungen mit rsync (chown chmod)?

12

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

Roger Creasy
quelle
Ist das Zieldateisystem so etwas wie NTFS, da es "Drive_D" ist?
Sami Kuhmonen
Zieldateisystem ist ext4
Roger Creasy
Hilft das Hinzufügen von -p?
Sami Kuhmonen
-p bewirkt, dass chmod für verschobene Dateien funktioniert. Ich muss testen, um sicherzustellen, dass die Berechtigungen für vorhandene Dateien nicht überschrieben werden. Vielen Dank. Und ich habe immer noch das Problem mit dem Chown
Roger Creasy,
1
Dafür brauchst du eigentlich - ich denke
Sami Kuhmonen

Antworten:

19

rsync muss mitgeteilt werden, dass Sie die Berechtigungen und Eigentümer- / Gruppeninformationen festlegen möchten. Es wäre logisch anzunehmen, dass sie das haben --chmododer --chownsagen würden, aber sie tun es nicht.

Für die Weitergabe von Berechtigungen benötigen Sie das Flag --permsoder -pund für Eigentümer / Gruppe benötigen Sie --owner --groupoder -ogFlags, 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.

Sami Kuhmonen
quelle
Es ist immer noch unklar, da die Dokumente linux.die.net/man/1/rsync darauf hinweisen, dass Sie das Ziel nur mit der Quelle festlegen können , da es als sudo ausgeführt wird, was ich tun muss . Das Problem ist, ich muss es auf das einstellen, was der angemeldete Benutzer ist, zB$(whoami)
Brian Thomas
1

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 -poder 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=ranstelle des Formats "D755, F644".

FarFetchd
quelle