'sudo tar' mas possui o arquivo resultante

1

Eu quero colocar um monte de arquivos em um arquivo com tar . No entanto, eu não tenho permissão para acessar todos eles, então eu tenho que fazer sudo tar .

No entanto, agora que root executou o tar , o arquivo resultante também é de propriedade do root e devo alterar as permissões no .tar.gz , o que é um pouco entediante.

Não existe uma "parcial sudo " de algum tipo para dizer tar para acessar os arquivos como root, mas criar o arquivo como eu?

    
por Superbest 15.10.2015 / 00:30

1 resposta

3

Você pode tirar proveito de um fato que muitas vezes incomoda ou surpreende as pessoas, que o redirecionamento ocorre no shell e não é afetado pelo sudo.

Use - (também conhecido como /dev/stdout ) como o nome do arquivo e, em seguida, redirecione a saída para um nome de arquivo de sua escolha. Ela será de sua propriedade, criada com suas permissões padrão (conforme definido por umask ).

sudo tar czf - [more options and file/dir names] > myfile.tar.gz

O redirecionamento acontece como seu UID, enquanto o tar é executado como root.

    
por 15.10.2015 / 01:01