Untar com root: é possível definir o uid?

1

É possível dizer ao tar para descompactar o arquivo e definir o uid / gid para um arquivo específico, quando você executa o tar como root (enquanto usa o chef)?

Coisas que eu já conheço:

  • Posso usar -o para extrair como raiz e, em seguida, chown uid:gid
  • --owner e --group aparentemente só funcionam ao adicionar arquivo, não ao descompactar

Seria muito conveniente poder especificar o proprietário durante a descompactação. Isso é possível?

    
por Thibaut Barrère 22.11.2010 / 11:43

2 respostas

2

Curiosamente, você pode se aproximar do que você quer usando (GNU) cpio com seu arquivo tar. O GNU cpio suporta arquivos de formato tar e fornece a opção de linha de comando -R para definir o usuário e o grupo de arquivos extraídos. Esta opção controla a propriedade de arquivos todos , não arquivos específicos.

Tudo isso significa que você pode executar, como root, o seguinte comando ...

cpio -iv -R user1:group1 < /path/to/myarchive.tar

... e extrairá todos os arquivos pertencentes ao usuário user1 e group group1 .

    
por 22.11.2010 / 15:46
1

Você pode executar o recurso de execução do chef como um usuário específico:

execute "tar -xf /path/to/your/tarfile.tar" do
  user "someone"
end

Executar documentação do recurso

    
por 03.12.2010 / 07:37

Tags