ACLs mit rsync beibehalten


7

Entschuldigung, aber ich kann keine Lösung für dieses scheinbar einfache Problem finden, das online und in diesem Forum gesucht wird.

Ich habe ein einfaches Bedürfnis: Kopieren Sie ein Verzeichnis und seinen Inhalt an einen anderen lokalen Speicherort, wobei ACLs und xAttr erhalten bleiben. Dies sollte auf der Manpage mit den Optionen -A und -X recht einfach sein:

rsync -aAX /source/directory /destination/directory

Aber das kann sie nicht bewahren. Eine einfache Verwendung von 'cp' funktioniert jedoch.

cp -a /source/directory /destination/directory

Ich habe verschiedene andere Kombinationen ausprobiert, auch als Sudo ohne Erfolg ...

sudo rsync -rA /source/directory /destination/directory

Ich benutze Ubuntu 14.04LTS; Ich bin sicher, dass ich ACLs habe, da ich die ACLs mit 'setfacl' und 'getfacl' festgelegt habe.

setfacl -R -m "g:gp2:rw" MyDirectoryOfInterest

wo getfacl zeigt, dass ACLs verwendet werden:

>>getfacl /source/DirectoryOfInterest
getfacl: Removing leading '/' from absolute path names

# file: source/DirectoryOfInterest
# owner: myusername
# group: myusername
user::rwx
user:usr1:rwx
user:usr2:rw-
user:usr3:r--
group::rwx
group:gp1:r--
group:gp2:rw-
group:gp3:rwx
mask::rwx
other::rwx

Hinweis: Sowohl das Quell- als auch das Zielverzeichnis befinden sich auf demselben Laufwerk und sogar im selben Verzeichnis, wobei das Zielverzeichnis einfach die Nummer '2' anfügt. zB / home / username / Car und / home / username / Car2.

Hinweis: rsync wird ausgeführt, weist jedoch keine ACLs und xAttr zu

>>getfacl /home/myusername/test123/Cars2
getfacl: Removing leading '/' from absolute path names
# file: home/myusername/test123/Cars2
# owner: myusername
# group: myusername
user::rwx
group::rwx
other::r-x

Ich muss rsync verwenden, da ich dies eventuell mit einem NAS verwenden möchte, für dessen Verwendung rsync erforderlich ist. Jede Hilfe wäre dankbar.


Hast du es versucht sudo rsync -aAX ...? Ich sehe nur sudo rsync -rA ...in deiner Frage.
Byte Commander

Ja, ich habe 'sudo rsync -aAX ...' und zahlreiche andere wie '-AX', '-a', '-rptgoAX', '-A' alle mit und ohne sudo ausprobiert. Sie alle generieren ähnliche Ergebnisse wie die obige 'getfacl'-Ausgabe, mit dem Unterschied, dass Eigentümer und Gruppe nur' root 'sind, wenn sudo verwendet wird.
user2175064

Antworten:


4

Ich werde meine eigene Frage teilweise beantworten.

Ich habe Lubuntu für die Verwendung durch meine Kinder auf einem älteren PC installiert. Ich beschloss zu sehen, ob Lubuntus Version von rsync richtig funktionieren würde. Die Version von rsync unter Lubuntu 16.04.1LTS ist die Version 31 des 3.1.1-Protokolls.

rsync -aAX /source/filename /destination/
rsync -aAX /source/filename /destination/filename
rsync -aAX /source/filename /destination/newfilename

Alle funktionieren gut in Lubuntu.

Entweder hat die Version von rsync unter Ubuntu 14.04LTS (3.0.1, wenn ich mich richtig erinnere) einen Fehler, oder irgendwo auf dem Weg habe ich eine Konfigurationsdatei oder ähnliches durcheinander gebracht.

Da ich Ubuntu 16.04.1LTS anstelle von Ubuntu 14.04LTS installieren werde, werde ich keine weitere Zeit damit verbringen, das Problem zu lösen.

Grüße.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.