Unixコマンド/chflags の変更点
*&size(15){''chflags''}; [#md28c7ed]
**''機能'' [#o2f04c09]
Unixには、chmodでファイルにアクセス権を設定しアクセス制御を行う機能がありますが、~
BSD系のOSには"ファイルフラグ"というものを設定して更に細かくアクセス制御を行う機能があります。~
ファイルフラグは4.4 BSDに実装され、それ以降のBSD系OSに入っています。ですから、当然、Mac OS Xにも入っている訳ですね。~
そのファイルフラグを設定するためのコマンドが、このページで紹介するchflags~
**''形式'' [#cdc796a3]
chflags [フラグ] [ファイル名]
**''オプション'' [#k3edf887]
|フラグの設定|フラグの解除|フラグの内容|必要な権限 |h
|arch|noarch|archived|root|
|opaque|noopaque|opaque|所有者またはroot |
|nodump|nonodump|nodump|所有者またはroot |
|sappnd|nosappnd|system|append-only root |
|schg|noschg|system immutable|root |
|sunlnk|nosunlnk|system undeletable|root |
|uappnd|nouappnd|user append-only|所有者またはroot |
|uchg|nouchg|user immutable|所有者またはroot |
|uunlnk|nouunlnk|user undeletable|所有者またはroot |
**''コマンド例'' [#i96da33e]
■通常だと/var/emptyは消すことができない。
# rm -rf /var/empty
rm: /var/empty: Operation not permitted
■それでも消したい場合
# /bin/ls -dlo /var/empty
dr-xr-xr-x 2 root wheel schg 512 1 16 2008 /var/empty
# chflags noschg /var/empty
# rm -r /var/empty