Por que “redirecionar para um arquivo” é executado como usuário, mesmo com o sudo? [duplicado]

0

Muitas vezes eu encouter este problema e realmente me incomoda porque é assim. Então, vamos considerar este exemplo:

[me@localhost:~]$ sudo command > /some/file.log

Até onde eu sei, isso não funcionará se o user não tiver permissão para escrever em /some/file.log , mesmo se o comando for executado como sudo . Eu encontrei algumas soluções neste site, então isso não é um problema, mas eu gostaria de saber qual é a razão por trás disso? Por que o comando seria executado como sudo e o redirecionamento como usuário? Alguma razão sólida para apoiar isso?

    
por EddaSnorra 27.10.2014 / 21:53

1 resposta

1

Você sudo do comando command , o redirecionamento da saída para /some/file.log é feito pelo seu shell atual, que está sendo executado como o usuário normal.

O que você poderia tentar para obter a saída escrita por root é:

sudo bash -c "command > /some/file.log"
    
por 27.10.2014 / 21:55

Tags