sudo tar change la propriété des fichiers extraits à un utilisateur inconnu

10

J'exécute cette commande:

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

Les fichiers extraits appartiennent à un utilisateur inconnu (1001):

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

Ne devrait-il pas être rooté le propriétaire dans une configuration normale?

Je travaille sur une installation Linux répliquée à partir d'une AWS AMI.

raspacorp
la source

Réponses:

15

Lors de l'extraction de fichiers en tant que root, tar utilisera la propriété d'origine. Vous pouvez remplacer cela en utilisant l' --no-same-owneroption (alternativement, -o).

Votre fichier tar fait référence à un utilisateur / groupe qui n'existe pas sur le système sur lequel vous l'avez extrait.

Si vous extrayez des fichiers en tant que vous-même (un utilisateur non privilégié), vous ne pouvez créer que des fichiers qui vous appartiennent.

Le manuel GNU tar dit:

--same-owner
Lors de l'extraction d'une archive, tar tentera de conserver le propriétaire spécifié dans l'archive tar avec cette option présente. Il s'agit du comportement par défaut du superutilisateur; cette option n'a d'effet que pour les utilisateurs ordinaires. Voir la section Gestion des attributs de fichier .

Thomas Dickey
la source
1
Ok donc cela ne se produit qu'en étant root, car si j'exécute la commande sans sudo: 'tar xzvf nexus-latest-bundle.tar.gz' alors la propriété est définie pour mon utilisateur actuel, est-ce un comportement attendu?
raspacorp
2
@raspacorp: En tant qu'utilisateur non root, vous n'avez pas le pouvoir de créer des fichiers avec une propriété autre que la vôtre. Donc, par nécessité, les fichiers sont créés avec vous en tant que propriétaire.
Nate Eldredge
1

La personne qui a créé le fichier tar avait un ID utilisateur et un ID de groupe (UID: GID) effectifs de 1001: 1001. Étant donné que tar, par défaut, conserve les propriétés et les autorisations, lorsque vous le développez, vous héritez de ces valeurs. Si vous avez un utilisateur avec UID: GID 1001: 1001 sur votre système, ces fichiers appartiendraient à cet utilisateur.

MelBurslan
la source