web-dev-qa-db-fra.com

Impossible d'écrire dans / var / log / btmp

J'ai récemment eu un tas d'entrées dans mon journal btmp [en raison d'un mouvement abrupte de ma part] J'ai résolu le problème, mais maintenant je voudrais effacer ce journal, je l'ai copié ailleurs pour référence, puis j'ai essayé d'annuler le fichier, mais en vain. J'ai ensuite vérifié les autorisations pour le fichier lui-même et tout se passe bien? Ne sachant pas pourquoi il ne laissera pas Sudo accéder au fichier.

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

Je cherchais simplement d'autres idées. J'ai essayé de modifier les autorisations, puis de les rétablir simplement parce que. J'ai également essayé quelques autres moyens pour supprimer le texte. Mais je veux comprendre pourquoi cela ne fonctionne pas simplement. Merci pour toute aide!

3
Jasper

Votre commande n'utilise pas Sudo pour écrire dans le fichier journal. Elle utilise (inutilement) Sudo pour cat/dev/null. L'écriture (redirection de sortie) via l'opérateur > est toujours effectuée en tant qu'utilisateur habituel.

Vous pouvez faire l'une des choses suivantes

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

ou

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

cependant, il n'y a vraiment pas besoin de quoi que ce soit. vous pouvez également tronquer le fichier simplement en ne redirigeant rien

Sudo -i
> /var/log/btmp
exit

ou en utilisant la commande truncate

Sudo truncate -s0 /var/log/btmp 
4
steeldriver