ファイルへの追記のみを可能にする方法

知らなかったので、メモ。 logファイルの改ざん防止とか良さそう。

準備。lsattrで現在のファイルの属性をみれる。

[root@test foxtrot]# touch addonly.txt
[root@test foxtrot]#
[root@test foxtrot]# lsattr addonly.txt
-------------e- addonly.txt
[root@test foxtrot]#
[root@test foxtrot]# echo "first" > addonly.txt
[root@test foxtrot]#
[root@test foxtrot]# cat addonly.txt
first
[root@test foxtrot]#

追加のみ許可の属性を付与。 上書きしたら、メッセージが表示されてエラー。 追記はOK!

[root@test foxtrot]# chattr +a addonly.txt
[root@test foxtrot]#
[root@test foxtrot]# lsattr addonly.txt
-----a-------e- addonly.txt
[root@test foxtrot]#
[root@test foxtrot]# echo "second" > addonly.txt
bash: addonly.txt: 許可されていない操作です
[root@test foxtrot]#
[root@test foxtrot]# echo "second" >> addonly.txt
[root@test foxtrot]#
[root@test foxtrot]# cat addonly.txt
first
second

まぁ、logファイルを改ざんできるぐらいなら、、、とかも思うけど。