
Wenn Sie das TAR-Dienstprogramm zum Speichern von Dateien in Backups verwenden, gehen die erweiterten ACLs verloren.
Gibt es eine allgemein gebräuchliche und nicht hackige Lösung (wie etwa ein Skript erstellen, das die ACLs von Grund auf neu erstellt), um die ACLs beizubehalten?
Antwort1
Eigentlich glaube ich, dass die Frage nicht nach den (Standard-)Dateiberechtigungsbits ging, sondernerweitertACL-Informationen (siehe setfacl(1) oder acl(5)).
Meines Wissens ignoriert das unveränderte GNU-Tar ACL-Informationen. (Die Manpage für GNU-Tar 1.15.1, wie sie mit RHEL 5.2 ausgeliefert wird, erwähnt die Schalter --acls und --no-acls, aber ich habe sie nicht zum Laufen gebracht.)
AllerdingsSternDas Programm kann ACLs sichern und wiederherstellen, wenn Sie die OptionauspuffFormat:
star -c -p -acl artype=exustar -f archive.tar files...
star -x -acl -f archive.tar
Star-Homepage:http://cdrecord.berlios.de/new/private/star.html Star ist zumindest in Ubuntu verfügbar.
Antwort2
Ich suche auch nach einer Lösung und habe bisher Folgendes gefunden:
mache zuerst ein getfactl aus meinem Ordner
getfacl -R /a_folder > folder.acl
dann mach einen normalen Teer
tar -czvf folder.tar.gz /a_folder
wenn ich es extrahiere
tar -xvf folder.tar.gz
Führen Sie ein Setfacl für die Berechtigungen aus.
setfacl --restore=folder.acl
das funktioniert bei mir.
Antwort3
Verwenden von Tar
Erschaffen:
tar --acls -cpf backup.tar some-dir-or-file
So entpacken Sie den Tar:
tar --acls -xpf backup.tar
Antwort4
Ich empfehle Ihnen,bsdtar
.
bsdtar
Backups erweiterte ACL standardmäßigverwendet es diegleiche Syntaxals GNU tar
, und die von ihm erstellten Archive sind für lesbar GNU tar
.
Der Paket- und Befehlsname (unter Debian-basierten Distributionen) lautet bsdtar
.
bsdtar cf archive.tar /my/folder/using/extd_acl
bsdtar xf archive.tar
Der 2. Befehl (Extrahieren) stellt ACLs wieder her.