sudo tar ändert den Besitz der extrahierten Dateien in einen unbekannten Benutzer

10

Ich führe diesen Befehl aus:

$ sudo tar xvzf nexus-latest-bundle.tar.gz

Die extrahierten Dateien gehören einem unbekannten (1001) Benutzer:

drwxr-xr-x 8     1001     1001      4096 Dec 16 18:37 nexus-2.12.0-01
drwxr-xr-x 3     1001     1001      4096 Dec 16 18:47 sonatype-work

Sollte es nicht sein, dass der Eigentümer unter einer normalen Konfiguration root ist?

Ich arbeite an einer Linux-Installation, die von einem AWS AMI repliziert wurde.

raspacorp
quelle

Antworten:

15

Beim Extrahieren von Dateien als Root verwendet tar den ursprünglichen Besitz. Sie können dies mit der --no-same-ownerOption überschreiben (alternativ -o).

Ihre TAR-Datei bezieht sich auf Benutzer / Gruppe, die auf dem System, auf dem Sie sie extrahiert haben, nicht vorhanden sind.

Wenn Sie Dateien als Sie selbst (ein nicht privilegierter Benutzer) extrahieren , können Sie nur Dateien erstellen, die Ihnen gehören.

Das GNU- Teerhandbuch sagt:

--same-owner
Beim Extrahieren eines Archivs versucht tar, den im tar-Archiv angegebenen Eigentümer mit dieser Option beizubehalten. Dies ist das Standardverhalten für den Superuser. Diese Option wirkt sich nur auf normale Benutzer aus. Siehe Abschnitt Umgang mit Dateiattributen .

Thomas Dickey
quelle
1
Ok, das passiert nur, wenn ich root bin. Wenn ich den Befehl ohne sudo ausführe: 'tar xzvf nexus-latest-bundle.tar.gz', wird der Besitz auf meinen aktuellen Benutzer festgelegt. Ist das ein erwartetes Verhalten?
Raspacorp
2
@raspacorp: Als Nicht-Root-Benutzer haben Sie keine Berechtigung, Dateien mit anderen Eigentümern als Ihren eigenen zu erstellen. Die Dateien werden also notwendigerweise mit Ihnen als Eigentümer erstellt.
Nate Eldredge
1

Die Person, die die TAR-Datei erstellt hat, hatte eine effektive Benutzer-ID und Gruppen-ID (UID: GID) von 1001: 1001. Da tardie Eigentümer und Berechtigungen standardmäßig erhalten bleiben, erben Sie diese Werte, wenn Sie sie erweitern. Wenn Sie einen Benutzer mit UID: GID 1001: 1001 auf Ihrem System haben, wären diese Dateien Eigentum dieses Benutzers gewesen.

MelBurslan
quelle