簡易 ACL を設定する構文
この ACL は、従来の UNIX の owner/group/other エントリを表現しているだけという点で、「簡易な」ACLです。
chmod [options] A[index]{+|=}owner@ |group@ |everyone@: access-permissions/...[:inheritance-flags]: deny | allow file
chmod [options] A-owner@, group@, everyone@:access-permissions /...[:inheritance-flags]:deny | allow file ...
chmod [options] A[index]- file
非簡易 ACL を設定する構文
chmod [options] A[index]{+|=}user|group:name:access-permissions /...[:inheritance-flags]:deny | allow file
chmod [options] A-user|group:name:access-permissions /...[:inheritance-flags]:deny | allow file ...
chmod [options] A[index]- file
簡易 ACL 構文の ACL-entry-type を指定します。ACL エントリタイプについては、表 8–1 を参照してください。
明示的な ACL 構文の ACL-entry-type を指定します。ユーザーとグループの ACL-entry-type には、ACL-entry-ID と、username または groupname も含める必要があります。ACL エントリタイプについては、表 8–1 を参照してください。
許可または拒否するアクセス権を指定します。ACL アクセス特権については、表 8–2 を参照してください。
ACL 継承フラグのオプションリストを指定します。ACL 継承フラグについては、表 8–3 を参照してください。
そのアクセス権を許可するかまたは拒否するかを指定します。
次の例では、ACL-entry-ID の値は関係ありません。
group@:write_data/append_data/execute:deny |
次の例では、ACL-entry-ID が含まれています。特定のユーザー (ACL-entry-type) を ACL に含めるためです。
0:user:gozer:list_directory/read_data/execute:allow |
ACL エントリが表示されるときは、次のようになります。
2:group@:write_data/append_data/execute:deny |
この例の 2 は index-ID 指定と呼ばれますが、これにより、所有者、特定の UID、グループ、および全員用として複数のエントリを含む可能性のある比較的大きな ACL 内の ACL エントリが識別されます。chmod コマンドと一緒に index-ID を指定すれば、ACL のどの部分を変更するかを指定できます。たとえば次のように、chmod コマンドの構文で A3 と指定して、インデックス ID 3 を特定することができます。
chmod A3=user:venkman:read_acl:allow filename |
ACL エントリタイプは、所有者やグループなどの ACL 表現です。次の表の説明を参照してください。
表 8–1 ACL エントリタイプ
ACL エントリタイプ |
説明 |
---|---|
owner@ |
オブジェクトの所有者に許可するアクセス権を指定します。 |
group@ |
オブジェクトを所有するグループに許可するアクセス権を指定します。 |
everyone@ |
ほかのどの ACL エントリにも一致しないすべてのユーザーまたはグループに許可するアクセス権を指定します。 |
user |
ユーザー名を使って、オブジェクトに追加するユーザーに許可するアクセス権を指定します。このエントリには ACL-entry-ID を含める必要があります。username または userID を指定します。値が有効な数値 UID または username でない場合、その ACL エントリタイプは無効です。 |
group |
グループ名を使って、オブジェクトに追加するグループに許可するアクセス権を指定します。このエントリには ACL-entry-ID を含める必要があります。groupname または groupID を指定します。値が有効な数値 GID または groupname でない場合、その ACL エントリタイプは無効です。 |
表 8–2 ACL アクセス特権
アクセス特権 |
アクセス特権のコンパクト表現 |
説明 |
---|---|---|
add_file |
w |
ディレクトリに新しいファイルを追加するためのアクセス権。 |
add_subdirectory |
p |
ディレクトリ上でサブディレクトリを作成するためのアクセス権。 |
append_data |
p |
プレースホルダー。現時点では実装されていません。 |
delete |
d |
ファイルを削除するためのアクセス権。 |
delete_child |
D |
ディレクトリ内のファイルまたはディレクトリを削除するためのアクセス権。 |
execute |
x |
ファイルを実行するためのアクセス権またはディレクトリの内容を検索するためのアクセス権。 |
list_directory |
r |
ディレクトリの内容を表示するためのアクセス権。 |
read_acl |
c |
ACL (ls) を読み取るためのアクセス権。 |
read_attributes |
a |
ファイルの基本属性 (ACL 以外) を読み取るためのアクセス権。基本属性は、stat レベルの属性と考えてください。このアクセスマスクビットを許可したエンティティーは、ls(1) および stat(2) を実行できる状態になります。 |
read_data |
r |
ファイルの内容を読み取るためのアクセス権。 |
read_xattr |
R |
ファイルの拡張属性を読み取るためのアクセス権。または、ファイルの拡張属性ディレクトリの検索を実行するためのアクセス権。 |
synchronize |
s |
プレースホルダー。現時点では実装されていません。 |
write_xattr |
W |
拡張属性を作成するためのアクセス権。または、拡張属性ディレクトリに書き込みむためのアクセス権。 このアクセス権を許可したユーザーは、ファイルの拡張属性ディレクトリを作成できます。属性ファイルのアクセス権を使って、その属性にユーザーがアクセスできるかどうかを制御します。 |
write_data |
w |
ファイルの内容を変更または置き換えるためのアクセス権。 |
write_attributes |
A |
ファイルまたはディレクトリに関連付けられたタイムスタンプを任意の値に変更する権限。 |
write_acl |
C |
ACL の書き込みを行うアクセス権、または chmod コマンドを使って ACL を変更するアクセス権。 |
write_owner |
o |
ファイルの所有者またはグループを変更するためのアクセス権。つまり、ファイルに対して chown または chgrp コマンドを実行することができます。 ファイルの所有権を取得するためのアクセス権。または、ファイルのグループ所有権をユーザーが所属するグループに変更するためのアクセス権。ファイルまたはグループの所有権を任意のユーザーまたはグループに変更する場合は、PRIV_FILE_CHOWN 権限が必要です。 |