Ich muss einige Daten mit der Option "p" im Befehl tar sichern. Das Problem ist, dass an der Stelle, an der diese Daten wiederhergestellt werden sollen, dieselben Benutzer vorhanden sind, diese Benutzer jedoch möglicherweise unterschiedliche IDs haben. Hat das einen Unterschied zu tar oder werden die Berechtigungen anhand des Benutzernamens korrekt wiederhergestellt?
20
tar
zeichnet Eigentümernamen auf.Fassen Sie frühere Antworten zusammen und fügen Sie einige wichtige Informationen hinzu:
Erhält beim Erstellen von Archiven
tar
immer die Benutzer- und Gruppen-ID der Dateien, sofern mit--owner=NAME
, nicht anders angegeben--group=NAME
. Trotzdem ist jeder Datei immer ein Benutzer und eine Gruppe zugeordnet.GNU tar, und vielleicht auch andere Versionen
tar
, auch speichern Sie die Benutzer- und Gruppennamen , es sei denn ,--numeric-owner
verwendet werden. bsdtar speichert standardmäßig auch Benutzer- und Gruppennamen, aber die Unterstützung für die--numeric-owner
Option beim Erstellen wurde erst mit bsdtar 3.0 angezeigt (beachten Sie, dass bsdtar die Option beim Extrahieren länger unterstützt).Wenn Sie als normaler Benutzer extrahieren , werden alle Dateien immer dem Benutzer gehören. Das kann auch nicht anders sein, da beim Extrahieren einer Datei eine neue Datei im Dateisystem erstellt wird und ein normaler Benutzer keine Datei erstellen und jemand anderem den Besitz übertragen kann.
Wenn Sie als root
tar
extrahieren , wird standardmäßig das Eigentum an extrahierten Dateien wiederhergestellt, sofern dies nicht--no-same-owner
verwendet wird. Dadurch erhält root das Eigentum.In GNU tar, bsdtar und möglicherweise anderen Versionen von
tar
erfolgt die Wiederherstellung des Eigentums nach Benutzer- (und Gruppen-) Namen , wenn sich diese Informationen im Archiv befinden und sich ein übereinstimmender Benutzer im Zielsystem befindet. Andernfalls wird nach ID wiederhergestellt. Wenn die--numeric-owner
Option angegeben ist, werden Benutzer- und Gruppennamen ignoriert.Berechtigungen und Zeitstempel werden ebenfalls im Archiv gespeichert und standardmäßig wiederhergestellt, sofern keine Optionen
--no-same-permissions
und / oder--touch
verwendet werden. Wenn durch den Benutzer extrahiert Benutzerumask
wird subtrahiert von Berechtigungen , wenn nicht--same-permissions
verwendet wird.--preserve-permissions
und--same-permissions
sind Aliase und haben die gleiche Funktionalität wie-p
Hoffe das hilft das Problem zu klären! :)
quelle
tar
die Angabe von beliebigen Namen in der aktuellen Maschine erlauben--owner
oder--group
in der Vergangenheittar
eine unbegründete Suche in der aktuellen Maschine durchgeführt haben/etc/passwd
und sich weigerten, ausgeführt zu werden, wenn es keine Übereinstimmung gab.--owner
aber auch im--numeric-owner
Flag hinzugefügt wird ? Wie geht tar mit diesen konkurrierenden Anforderungen um?--owner
und schließen--numeric-owner
sich nicht gegenseitig aus und dienen ganz unterschiedlichen Zwecken:--owner=USERNAME
überschreiben die Eigentümer von Dateien und Verzeichnissen beim Archivieren der Dateien, während--numeric-owner
der Benutzername, nur seine numerische ID, einfach nicht gespeichert wird.Benutze die Option --same-owner für GNU tar. Siehe http://www.gnu.org/software/tar/manual/html_section/Attributes.html
quelle
Wenn Sie versuchen, Dateien zwischen zwei Systemen zu übertragen, legt rsync die Berechtigungen standardmäßig nach Benutzername statt nach UID fest und überprüft dabei die Benutzernamen an beiden Enden. Nur wenn der Benutzer auf einem der Systeme nicht vorhanden ist, wird er mit der UID kopiert, sofern Sie nichts anderes angeben.
quelle