Altera apenas um proprietário específico ao extrair o arquivo tar

1

Eu tenho um arquivo tar contendo dois proprietários, 1000 e 0:

$ tar tfvz archive.tgz
drwxr-xr-x 1000/1000         main/
drwxr-xr-x 0/0               main/root_dir/
drwxr-xr-x 0/0               main/root_dir/home/
-rw-r--r-- 1000/1000         main/root_dir/home/file

Existe uma maneira simples de alterar a propriedade apenas em diretórios / arquivos com o proprietário 1000? Aqueles com o proprietário 0 devem permanecer inalterados.

Não encontrei nenhuma opção no tar ou ache que selecione um proprietário específico, por exemplo tar --no-same-owner altere todos os proprietários, não apenas o proprietário 1000 (eu extraio o arquivo com sudo tar xfz archive.tgz para permitir a criação de diretórios raiz (0) / arquivos).

    
por Philippe Blayo 01.05.2011 / 13:55

1 resposta

3

Você pode usar o uid do find para fazer isso depois de ter extraído os arquivos

find /path/to/files -uid 1000 -exec chown newuid:newgid {} +
    
por 01.05.2011 / 14:06