Berechtigungen für Verzeichnisse beim Extrahieren von tar aus einer Liste von Dateien

381
jbk

Ich erstelle eine tar-Datei aus einer Liste von Dateien mit der Option -T. Beim Extrahieren der tar-Datei sind die Unterverzeichnisberechtigungen root: root anstelle der Berechtigungen für das Verzeichnis selbst? Irgendwelche Ideen, wie man das beheben kann?

Beispiel:

# cat filelist.txt

file1.txt

dir1 / file2.txt

dir1 / dir2 / file3.txt

# tar cf files.tar -T filelist.txt

# tar xf files.tar

Der Besitz der extrahierten Dateien stimmt mit dem ursprünglichen Besitz von file1.txt, file2.txt und file3.txt überein. Der Besitz von dir1 und dir2 stimmt nicht überein. Besitzer ist root: root

Ich konnte beim Entpacken des tar-Archivs eine ähnliche Lösung wie Besitz und Rechte des übergeordneten Verzeichnisses beibehalten verwenden, hoffte jedoch, dass es einen anderen Weg gab, da dies zu mehr Arbeit für eine Reihe von Verzeichnissen führen würde.

0

1 Antwort auf die Frage

0
AFH

Sie müssen sowohl die Verzeichnisse als auch die Dateien sichern, für die Sie zwei Dinge tun müssen: -

1) Fügen Sie die Verzeichnisse Ihrer Dateiliste hinzu:

file1.txt dir1 dir1/file2.txt dir1/dir2 dir1/dir2/file3.txt 

2) Fügen Sie --no-recursiondie Sicherungslaufzeichenfolge hinzu, um alle anderen Dateien in den enthaltenen Verzeichnissen zu stoppen:

tar cf files.tar --no-recursion -T filelist.txt 

Beachten Sie, dass die Reihenfolge wichtig ist: Die Verzeichnisse müssen vor jeder Referenz in einem Unterverzeichnis oder in einer Datei stehen. und der --no-recursionParameter muss vor -T, aber nach dem cf FileNameBefehl stehen.

Danke, ich hatte Angst davor. Ich habe in diesem Beitrag etwas Awk-Zauber gefunden, das die Verzeichnisse meiner Dateiliste hinzufügt. https://serverfault.com/questions/877254/tar-does-not-retain-directory-permissions/ jbk vor 5 Jahren 0