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.