これらはLinuxカーネル2.6で追加されたコマンド、従来のlsとchmodに対応というより拡張するext2 固有なフラグ。
lsattrコマンドを実行すると、現在のフラグを表示する。フラグには”acdijsuADST”などの種類がある。主なものの意味は以下のとおり。
a : ファイルの追加書き込みのみ許可する。(append)
c : ファイルを圧縮してディスクに保存する。アプリレベルは影響を受けない。(compress)
d : dumpでバックアップの候補にしない。(dump)
i : ファイルの変更を許可しない。削除もリネームもできない。このファイルへのリンクも作成できない。(immutable)
s : ファイルの削除後、ブロックをゼロクリアする。(secure?)
A : ファイルがアクセスされたとき、atimeを更新しない。
D : ディレクトリが変更されたとき、すぐにディスクに書き込む。
S : ファイルが変更されたとき、すぐにディスクに書き込む。(Sync?)
chattrコマンドを使ってフラグを変更できる。
$ chattr +c file
とすれば、ファイルfileにc属性を追加する。
$ chattr -c file
とすればc属性を削除する。
$ chattr =c file
とすればc属性を追加し、他の属性はクリアされる。
$ chattr -R +c dir
とすればディレクトリdir配下に再帰的に属性cを追加する。