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