最近、btmpログに多数のエントリがありました(私の一部の骨の折れる動きのため)私は問題を解決しましたが、そのログをクリアしたいので、参照用に別の場所にコピーしてから、ファイルが、無駄に。次に、ファイル自体のアクセス許可を確認しましたが、すべてが正しく見えますか? Sudoがファイルにアクセスできない理由がわかりません。
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
他のアイデアを探しているだけです。許可を変更してから、元に戻そうとしました。また、テキストを削除する他の方法をいくつか試しました。しかし、なぜこれが機能しないのかを理解したいと思います。助けてくれてありがとう!
コマンドはログファイルへの書き込みにSudoを使用しません-(不必要に)Sudoを使用して/ dev/nullをcatします。 >
演算子による書き込み(出力リダイレクト)は、通常のユーザーとして引き続き行われます。
次のいずれかを行うことができます
Sudo sh -c 'cat /dev/null > /var/log/btmp'
または
cat /dev/null | Sudo tee /var/log/btmp
ただし、実際には何も猫にする必要はありません。何もリダイレクトしないことで、ファイルを同じように切り捨てることができます。
Sudo -i
> /var/log/btmp
exit
またはtruncate
コマンドを使用して
Sudo truncate -s0 /var/log/btmp