ACL 継承動作
新しいファイルまたはディレクトリの作成時に、既存の ACL 設定を親ディレクトリから継承できます。このプロパティーは、この継承の動作を制御します。通常、これらのプロパティーの設定は、継承可能としてフラグがつけられている ACL エントリだけに影響を与えます。ほかのエントリは、このプロパティーの設定にかかわらず、伝播されません。ただし SMB で使用されるときは、簡単な ACL エントリはすべて継承可能です。簡単な ACL とは、従来の UNIX owner/group/other エントリのことです。ACL 継承動作を編集するには、「プロジェクトの編集」(BUI、 CLI) を参照してください。
表 123 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) を使用してファイルのアクセス権を変更するまで実行できません。
|
すべてを継承するが、クライアントからのモードを保持
|
passthrough-mode-preserve
|
継承可能な ACL エントリは継承され、アプリケーションによって指定された作成モードは保持されます。これによって継承ビットが保持されるため、SMB は、NFS と SMB を介して同時にアクセスされるシェアと適切に相互運用する ACL を作成します。このプロパティー設定は、モード保持を使用した ACL パススルーの遅延更新を適用したあとでのみ使用できます。詳細は、 Oracle ZFS Storage Appliance 顧客サービスマニュアル、遅延更新を参照してください。
|
|
SMB を使用して簡単な ACL の設定されたディレクトリにファイルを作成すると、すべての ACL エントリが継承されます。この結果、次の動作が生じます。
-
継承ビットの表示方法は、SMB と NFS とで異なります。SMB で ACL ディレクトリを表示すると、継承ビットが表示されます。NFS では継承ビットが表示されません。
-
SMB を使用してファイルをディレクトリに作成すると、その ACL エントリは継承されたとおりに表示されます。しかし NFS を使用して表示した場合、ディレクトリには継承可能な ACL エントリがありません。
-
アクセス制御エントリ (ACE) を追加するなどして ACL が変更されて簡単ではなくなった場合、この動作は発生しません。
-
SMB を使用して ACL を変更すると、得られる ACL では前の継承ビットを合成したものが実際の継承ビットになります。
関連トピック