シェア - ACL の動作
ACL およびその動作については、ルートディレクトリ ACLのドキュメントを参照してください。
モード変更時の ACL 動作
chmod(2) で標準的な Unix ユーザー/グループ/その他アクセス権を使用して ACL が変更される場合、このプロパティーの設定に応じて、単純なモード変更リクエストが既存の ACL とさまざまに作用します。
Table 12-16 モード変更の値
|
|
|
ACL を破棄
|
discard
|
ディレクトリまたはファイルのモードを表さないすべての ACL エントリが破棄されます。これはデフォルトの動作です。
|
モードによる ACL のマスク
|
mask
|
グループアクセス権ビットより大きくならないように、アクセス権が縮小されます。ただし、ユーザーエントリの UID がファイルまたはディレクトリの所有者と同じである場合は例外です。この場合は、所有者アクセス権ビットよりも大きくならないように ACL アクセス権が縮小されます。マスク値によって、明示的な ACL 設定操作が実行されていない場合は、モード変更時も ACL が維持されます。
|
ACL を変更しない
|
passthrough
|
ファイルまたはディレクトリの新しいモードを表すのに必要な ACL エントリを生成する以外に、ACL は変更されません。
|
|
ACL 継承動作
新しいファイルまたはディレクトリの作成時に、既存の ACL 設定を親ディレクトリから継承できます。このプロパティーは、この継承の動作を制御します。通常、これらのプロパティーの設定は、継承可能としてフラグがつけられている ACL エントリだけに影響を与えます。ほかのエントリは、このプロパティーの設定にかかわらず、伝播されません。ただし SMB で使用されるときは、簡単な ACL エントリはすべて継承可能です。簡単な ACL とは、従来の Unix owner/group/other エントリのことです。
Table 12-17 ACL 継承動作の値
|
|
|
エントリを継承しない
|
discard
|
ACL のエントリは継承されません。ファイルやディレクトリは、使用されているクライアントとプロトコルに従って作成されます。
|
拒否エントリのみを継承する
|
noallow
|
「deny」アクセス権を指定している継承可能な ACL エントリだけが継承されます。
|
「ACL の書き込み」および「所有者の変更」以外のすべてを継承
|
restricted
|
ACL エントリを継承するときに「write_acl」アクセス権と「write_owner」アクセス権を削除します。ただし、それ以外の場合は、継承可能な ACL エントリを変更しません。これはデフォルトです。
|
すべてのエントリを継承
|
passthrough
|
継承可能な ACL エントリがすべて継承されます。通常、「passthrough」モードを使用するのは、ディレクトリツリー内のすべての「データ」ファイルが同一のモードで作成されるようにする場合です。管理者は、すべてのファイルが 0664 や 0666 などの同一モードで作成されるように ACL の継承を設定します。
|
指定がない場合、「実行」以外のすべてを継承
|
passthrough-x
|
「passthrough」と同様ですが、相違点は、所有者、グループ、およびすべてのユーザーの ACL エントリが、ファイル作成モードも実行ビットをリクエストしている場合のみ、実行アクセス権を継承することです。「passthrough」設定はデータファイルに対して期待どおりに機能しますが、継承された ACL にファイル作成モードの実行ビットを必要に応じて含めたい場合もあります。cc や gcc などのツールから生成される出力ファイルはその一例です。継承された ACL に実行ビットが含まれていない場合、コンパイラから出力された実行可能ファイルは、chmod(1) を使用してファイルのアクセス権を変更するまで実行できません。
|
|
SMB を使用して簡単な ACL の設定されたディレクトリにファイルを作成すると、すべての ACL エントリが継承されます。この結果、次の動作が生じます。
-
継承ビットの表示方法は、SMB と NFS とで異なります。SMB で ACL ディレクトリを表示すると、継承ビットが表示されます。NFS では継承ビットが表示されません。
-
SMB を使用してファイルをディレクトリに作成すると、その ACL エントリは継承されたとおりに表示されます。しかし NFS を使用して表示した場合、ディレクトリには継承可能な ACL エントリがありません。
-
アクセス制御エントリ (ACE) を追加するなどして ACL が変更されて簡単ではなくなった場合、この動作は発生しません。
-
SMB を使用して ACL を変更すると、得られる ACL では前の継承ビットを合成したものが実際の継承ビットになります。
上記のすべての動作は、将来のリリースで変更される可能性があります。