ファイルまたはディレクトリのアクセス制御リスト (Access Control List) を変更する
chacl
は IRIX 互換のコマンドであり、
XFS や IRIX で使い慣れているユーザのために保守されている。
アクセス制御リスト (ACL) について記述している
(撤回されたドラフト) POSIX 1003.1e 規格に、
より準拠したツールについての説明は、
「関連項目」のセクションを参照すること。
chacl
はファイルまたはディレクトリの ACL を変更する。
指定された ACL は \f4pathname\f1 引き数の各ファイルに適用される。
各 ACL は文字列であり、
acl_from_text (3)
ルーチンを使って解釈される。
これらの文字列は、tag:name:perm という形式の
コンマで区切られた節 (clause) で構成される。
ここで \f4tag は以下の何れかである:
user (または u)
group (または g)
other (または o)
mask (または m)
-b
-d
-R
-D
-B
-l
-r
\f3chacl u::rwx,g::r-x,o::r-- fileファイルの所有者は rwx、ファイルのグループは読み込みと実行、 その他のユーザはファイルの読み込みアクセスのみという許可を持つように、 ファイル ACL が設定される。 以下は最低限の ACL ではない。 つまり、ファイルの所有者または所有グループ以外の ユーザまたはグループを指定する場合は、 マスクエントリを持たなければならない:
\f4chacl u::rwx,g::r-x,o::r--,u:bob:r--,m::r-x file1 file2\f4newdir\f1 対して \f4olddir\f1 と同じ デフォルト ACL とアクセス ACL を設定するには、 以下のように入力すればよい:
\f4chacl -b `chacl -l olddir | \\ sed -e 's/.*\\[//' -e 's#/# #' -e 's/]$//'` newdir
chacl
は既存の ACL を置き換えることができる。
エントリを追加・削除する場合は、
最初に \f4chacl -l を実行して既存の ACL を取得し、
chacl
の引き数を作るためにその出力を使うこと。
ファイルの許可 (permission) ビットを変更すると、
ファイルアクセス ACL の設定が変更される
( chmod (1)
を参照)。
しかし、ファイル作成モードマスク
( umask (1)
を参照) は、ディレクトリのデフォルト ACL によって作成された
ファイルのアクセス ACL 設定には影響しない。
ACL はファイルシステムの拡張属性であるので、
一般的なアーカイブユーティリティでは、通常はアーカイブやリストアされない。
拡張属性についての詳しい情報は
attr (5)
を参照すること。
XFS で拡張属性をバックアップする方法については、
xfsdump (8)
を参照すること。