sudo tar altera a propriedade dos arquivos extraídos para um usuário desconhecido

6

Estou executando este comando:

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

Os arquivos extraídos pertencem a um usuário desconhecido (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

Não deveria ser o root do proprietário em uma configuração normal?

Estou trabalhando em uma instalação do Linux replicada de uma AWS AMI.

    
por raspacorp 20.02.2016 / 00:46

2 respostas

8

Ao extrair arquivos como root, o tar usará a propriedade original. Você pode sobrescrever isso usando a opção --no-same-owner (alternativamente, -o ).

Seu arquivo tar se refere ao usuário / grupo que não existe no sistema em que você o extraiu.

Se você extrair arquivos como você mesmo (um usuário não privilegiado), só poderá criar arquivos de sua propriedade.

O manual de alcatrão do GNU diz:

--same-owner
When extracting an archive, tar will attempt to preserve the owner specified in the tar archive with this option present. This is the default behavior for the superuser; this option has an effect only for ordinary users. See section Handling File Attributes.

    
por 20.02.2016 / 00:49
1

A pessoa que criou o arquivo tar tinha um ID de usuário e ID de grupo (UID: GID) efetivo de 1001: 1001. Como tar , por padrão, preserva as propriedades e permissões, quando você o expande, você herda esses valores. Se você tiver um usuário com o UID: GID 1001: 1001 em seu sistema, esses arquivos seriam de propriedade desse usuário.

    
por 20.02.2016 / 00:50