Permissão para Linux negada quando fazer uma mensagem de log no arquivo [duplicado]

1
sudo date > output.txt
bash: output.txt: Permission denied

Eu quero escrever a mensagem de log em arquivo, mas a permissão negada até mesmo eu adiciono o prefixo sudo , mas quando eu tentei depois de fazer output.txt arquivo e alterando a permissão para 755 , ele funciona bem.

Como posso escrever o meesage de log sem fazer arquivo e alterar a permissão?

simplesmente como sudo date > output.txt --chmod 755 ?

    
por Juntae 14.11.2016 / 06:57

1 resposta

3
date | sudo tee output.txt > /dev/null

Isso funciona porque tee abre o output.txt e está sendo executado como root. O > /dev/null é apenas para jogar fora a cópia extra que tee enviaria para stdout .

O motivo pelo qual sudo date > output.txt não funciona é que o redirecionamento de saída (o > output.txt ) é feito antes de , o sudo date é iniciado e, portanto, é executado com os direitos de acesso atuais.

Uma abordagem diferente seria alterar as permissões no diretório atual para permitir que o usuário atual crie arquivos. Fazer isso significaria que date > output.txt poderia funcionar sem precisar de sudo .

    
por 14.11.2016 / 08:33