lsattrの「a」属性とはどういう意味ですか?

lsattrの「a」属性とはどういう意味ですか?

私のファイル.bash_historyからいくつかの古い履歴を削除しようとしていますが、次のメッセージが表示されます。

[john ~] /home/john $ mv .bash_history .bas
mv: impossible to move `.bash_history' to `.bas': Operation not permited

ファイル/ディレクトリ権限が疑われます。

[john ~] /home/john $ ls -ld .bash_history .
drwxrwx--T+ 5 root       john 4096 Out 11 19:45 .
-rw-r--r--  1 john john 2977 Out 10 14:36 .bash_history
[john ~] /home/john $

次に、次のことを試してください。

[john ~] /home/john $ lsattr .bash*
-----a------- .bash_history
------------- .bash_logout
------------- .bash_profile
------------- .bashrc
[john ~] /home/john $

おそらくこのa属性は何を意味しますか?

ベストアンサー1

このa属性は、ファイルが追加専用であることを意味します。ファイルを上書きまたは削除できず、データのみを追加できます。これはchattrマンページ。ルートのみこの属性を削除できます。

実際の結果は、古い歴史を消すことができないということです。これはシステム管理者のセキュリティ対策です。それは安全であると完全にはわかりませんが、特定のファイルの内容を削除する方法は思い出されません。 (ただし、履歴には表示されず、ファイルをバイパスしてコマンドを実行するのは簡単なので、有能なユーザーにとって特に有用なセキュリティ対策ではありません。確実な方法は、bash以外の場所でコマンドを実行することです)。

おすすめ記事