CHATTR(1)

名前
chattr - Linux 第 2 拡張ファイルシステム (ext2fs) 上にある ファイルの属性 (attribute) を変更する

書式
chattr [ -RV ] [ -v version ] [ mode ] files...

説明
chattr は Linux 第 2 拡張ファイルシステム (ext2fs) 上にある ファイルの属性 (attribute) を変更する。

mode の記法フォーマットは +-=[ASacDdistu] である。

+ オペレータを使用すると、選択した属性がファイルに付加される。 - オペレータを使用すると解除される。 = オペレータを使用すると、ファイルは指定した属性だけを持つことになる。

「ASacDdijsu」は指定できる属性である。 (A) atime を更新しない、(S) 同期更新 (synchronous updates)、 (D) ディレクトリの同期更新 (synchronous directory updates)、 (a) 追加のみ許可 (append only)、(c) 圧縮 (compressed)、 (d) ダンプしない (no dump)、(i) 変更不可 (immutable)、 (j) データのジャーナリング (data journalling)、 (s) 安全な削除 (secure deletion)、(u) 復活可能 (undeletable)。

オプション

-R  再帰的にディレクトリやその中身の属性を変更する。 ディレクトリを順番に訪れている途中でシンボリックリンクに出会った場合は、 これを無視する。

-V  属性の変更を詳細に表示する。

-v version
    ファイルシステムのバージョン/世代を設定する。

属性
`A' 属性が設定されているファイルは、 アクセスされても atime レコードが変更されない。 これはラップトップシステムのディスク I/O をある程度軽減する。

`a' 属性が設定されているファイルは、 書き込みの際に追加モードでしかオープンできない。 この属性はスーパーユーザーしか設定・解除ができない。

`c' 属性が設定されているファイルは、 ディスク上に置かれるときカーネルによって自動的に圧縮される。 このファイルを読み出すと、伸長されたデータが返ってくる。 このファイルに書き込むと、ディスク上に保存する前にデータが圧縮される。

`D' 属性が設定されているディレクトリは、 変更されると同時にディスクにもその内容が書き込まれる。 これは `dirsync' マウントオプションを、 それらのファイルだけに適用するのと同じことである。

`d' 属性が設定されているファイルは、 dump(8) プログラムを起動した際にバックアップされない。

`E' 属性は実験的な圧縮パッチが用いるもので、 圧縮ファイルに圧縮エラーがあることを示す。 この属性は chattr(1) によって設定したり解除したりすることはできないが、 lsattr(1) を用いて表示させることはできる。

`i' 属性が設定されているファイルは、変更することができない。 すなわち、削除、名前の変更、このファイルを指すリンクの作成、 このファイルに対するデータの書き込みが禁止される。 この属性はスーパーユーザーしか設定・解除ができない。

`j' 属性が設定されているファイルは、 ファイルシステムが "data=ordered" または "data=writeback" オプションで マウントされている場合、 ファイルそのものに書き出される前に、 ext3 のジャーナルにデータが書き出される。 ファイルシステムが "data=journalled" オプションでマウントされている場合、 全てのファイルデータは既にジャーナルに記録されているので、 この属性は何も影響しない。

`s' 属性が設定されているファイルが削除されると、 割り当てられていたブロックの中身が 0 にされ、ディスクに書き戻される。

`S' 属性が設定されているファイルが変更されると、 変更は同期的にディスクに書き込まれる (すなわち変更が直ちにディスク上に反映される)。 これは mount オプションの `sync' を それらのファイルだけに適用するのと同じことである。

`t' 属性が設定されているファイルは、 そのファイルが他のファイルとマージされたときに 部分的ブロックのフラグメントを作らない (末尾マージ (tail-merging) をサポートしているファイルシステムの場合)。 これは LILO のような、ファイルシステムを直接読みにいき、 かつ末尾マージされたファイルのことを理解しないような アプリケーションに対して必要となる。

`u' 属性が設定されているファイルを削除すると、 その内容は保護される。 これにより、ユーザがファイルを復活させることが可能になる。

`X' 属性は実験的な圧縮パッチによって用いられ、 圧縮ファイルの内容が圧縮状態のまま直接アクセス可能であることを示す。 この属性は現在のところ chattr(1) によって設定したり解除したりすることはできないが、 lsattr(1) を用いて表示させることはできる。

`Z' 属性は実験的な圧縮パッチによって用いられ、 圧縮ファイルが汚染されている (dirty) ことを示す。 この属性は chattr(1) によって設定したり解除したりすることはできないが、 lsattr(1) を用いて表示させることはできる。

著者
chattr は、Remy Card <Remy.Card@linux.org> によって作成された。

バグと制限
Linux 2.2 の段階では、`c', 's', `u' 属性への対応は カーネルコードには含まれていない。 これらの属性は将来の ext2 ファイルシステムに実装される予定である。

`j' オプションは、ext3 でマウントされた ファイルシステムについてのみ有効である。

`D' オプションは Linux カーネル 2.5.19 以降でのみ利用できる。

入手方法
chattr は e2fsprogs パッケージの一部であり、 http://e2fsprogs.sourceforge.net から入手できる。

関連項目
lsattr(1)