Não é possível gravar em / var / log / btmp

3

Eu recentemente tive um monte de entradas no meu log btmp [por causa de um movimento torto da minha parte] Eu resolvi o problema, mas agora eu gostaria de limpar esse log, eu copiei em outro lugar para referência e tentei para anular o arquivo, mas sem sucesso. Eu verifiquei as permissões para o arquivo em si e tudo parece certo? Apenas não sabe porque não permitirá que o sudo acesse o arquivo.

user@localhost:~$ sudo cat /dev/null > /var/log/btmp
-bash: /var/log/btmp: Permission denied
user@localhost:~$ ls -a -l /var/log/btmp
-rw-rw---- 1 root utmp 5502336 Aug 20 18:59 /var/log/btmp

Apenas procurando por algumas outras idéias .. Eu tentei alterar as permissões e depois alterá-las de volta só porque. Eu também tentei algumas outras maneiras de remover o texto. Mas eu quero descobrir porque isso não funciona. Obrigado por qualquer ajuda!

    
por Jasper 21.08.2014 / 02:00

1 resposta

4

Seu comando não usa sudo para gravar no arquivo de log - ele (desnecessariamente) usa sudo para cat / dev / null. A escrita (redirecionamento de saída) por meio do operador > ainda é feita como seu usuário comum.

Você pode fazer um dos seguintes

sudo sh -c 'cat /dev/null > /var/log/btmp'

ou

cat /dev/null | sudo tee /var/log/btmp

no entanto, não há realmente necessidade de nada de gato; você pode truncar o arquivo igualmente bem simplesmente redirecionando nada para ele

sudo -i
> /var/log/btmp
exit

ou usando o comando truncate

sudo truncate -s0 /var/log/btmp 
    
O
por steeldriver 21.08.2014 / 02:16