BusyBox Tar weist ein anderes Eigentum als GNU Tar auf

661
Tronman

UPDATE: Ich entdeckte, dass ich mit den ursprünglichen Berechtigungen mit dem Flag "--numeric-owner" auf GNU Tar anzeigen / extrahieren konnte. Ich möchte jedoch immer noch genau verstehen, was tar hier tut, da mir das nicht klar ist, zumal der "33" -Benutzer tatsächlich auf dem Ubuntu 16.04-System vorhanden ist.


Ich habe ein eingebettetes System, auf dem BusyBox v1.01 (2010.02.12-18: 03 + 0000) ausgeführt wird. Eingebaute Shell (Esche).

Ich habe festgestellt, dass beim Erstellen eines Tarballs (insbesondere eines gzip-Tarballs, tgz) der Besitz der Dateien zwischen dem eingebetteten System und meinem Ubuntu 16.04-System (unter GNU tar 1.28) nicht zu stimmen scheint.

Busy Box System:

# touch my_file # chown 33:0 my_file # tar -zcvf /mnt/usb/myfile.tgz my_file # tar -ztvf /mnt/usb/myfile.tgz -rw-r--r-- 33/0 12 1970-03-18 21:21:39 my_file 

Wie Sie sehen, habe ich, wenn ich mir die Datei in BusyBox noch einmal anschaue (und sie tatsächlich extrahiere), das Eigentum von 33/0.

Wenn ich mir jedoch die identische Datei in Ubuntu 16.04 ansehe, zeigt es root / root-Besitz:

Ubuntu 16.04:

# tar -tvf myfile.tgz -rw-r--r-- root/root 12 1970-03-18 17:21 my_file 

Wenn ich die Datei als root extrahiere, gehört sie natürlich root / root und nicht wie erwartet 33 / root (man-Seite sagt --same-owner ist standardmäßig beim Extrahieren als root).

Ich habe noch nie ein solches Verhalten in tar gesehen ... warum bleibt der Besitz nicht erhalten, wenn ich die Datei in Ubuntu sehe?

Gibt es eine Möglichkeit, die Datei in Ubuntu zu extrahieren, während die ursprünglichen 33/0-Berechtigungen des BusyBox-Systems beibehalten werden?

3

0 Antworten auf die Frage