アクセス制御リスト

通常、ACL はアクセス制御エントリー (ACE) と呼ばれる一連のエントリーで構成されます。 各 ACE は、オブジェクトとの関係においてユーザーのアクセス権を定義します。

アクセスが試みられると、オペレーティング・システムはオブジェクトに関連する ACL を使用して、ユーザーにそのアクセス権があるかどうかを確認します。 これらの ACL および関連するアクセス検査は、 AIX®によってサポートされる任意アクセス制御 (DAC) メカニズムの中核を成します。

オペレーティング・システムは各種のシステム・オブジェクトをサポートしており、これらのオブジェクトにより、ユーザー・プロセスは情報の保管やコミュニケーションが可能となります。 最も重要なタイプのアクセス制御対象オブジェクトは、次のとおりです。
  • ファイルとディレクトリー
  • 名前付きパイプ
  • メッセージ・キュー、共有メモリー・セグメント、およびセマフォーなどの IPC オブジェクト

このようなオブジェクトに対するアクセス権の検査は、すべて、オブジェクトが初めてアクセスされた時にシステム・コールのレベルで実行されます。 System V Interprocess Communication (SVIPC) オブジェクトはどこからでもアクセスされるため、アクセスの度に検査が行われます。 ファイルシステム名の指定されたオブジェクトの場合は、実オブジェクトの名前を解決できる必要があります。 ネーム解決は、相対的 (プロセスの作業ディレクトリーとの) または絶対的 (プロセスのルート・ディレクトリーから) に行われます。 すべてのネーム・レゾリューションは、これらのディレクトリーの 1 つを検索することによって開始されます。

任意アクセス制御メカニズムは、情報リソースの効果的なアクセス制御を可能にし、情報の機密性と保全性を別個に保護します。 所有者が制御するアクセス制御メカニズムは、ユーザーが設定したようにしか働きません。 すべてのユーザーは、アクセス権の許可、拒否、設定を行う方法を理解する必要があります。

例えば、ファイルシステム・オブジェクト (ファイルまたはディレクトリー) に関連する ACL は、そのオブジェクトへのアクセスに関して、さまざまなユーザーに対してアクセス権を施行できます。 こうした ACL は、異なるユーザーに対し、読み取りや書き込みといったさまざまなレベルのアクセス権を施行できます。

通常、各オブジェクトには所有者が定義され、一部のケースでは、オブジェクトが 1 次グループに関連付けられることもあります。 特定のオブジェクトの所有者は、 その任意のアクセス属性をコントロールします。 所有者の属性は、 オブジェクト作成プロセスの実効ユーザー ID に設定されます。

以下のリストは、さまざまなタイプのオブジェクトの直接アクセス制御属性を示しています。
所有者
System V プロセス間通信 (SVIPC) オブジェクトの場合には、 作成者または所有者がオブジェクトの所有権を変更できます。 SVIPC オブジェクトには、 所有者のすべての権限 (アクセス許可を含め) を持つ関連作成者があります。 この作成者は、root 権限によっても変更できません。

SVIPC オブジェクトは、作成プロセスの実効グループ ID に初期化されます。 ファイルシステム・オブジェクトの場合には、 直接アクセス制御属性は、オブジェクト作成プロセスの実効グループ ID、 または親ディレクトリーのグループ ID (親ディレクトリーのグループ継承フラグにより決定される) のいずれかに初期化されます。

グループ
オブジェクトの所有者はグループを変更できます。 新規グループは、作成プロセスの実効グループ ID か親ディレクトリーのグループ ID のいずれかでなければなりません。 (上記のように、SVIPC オブジェクトは、変更できない関連作成グループを持ち、オブジェクト・グループのアクセス許可を共有します。)
モード
chmod コマンド (8 進数表記の数字モードの) は、基本アクセス権および属性を設定できます。 このコマンドで呼び出される chmod サブルーチンは、拡張アクセス権を使用不可にします。 ACL を持つファイルに対して chmod コマンドの数字モードを使用すると、拡張アクセス権が使用不可になります。 chmod コマンドのシンボリック・モードは、NSF4 ACL タイプの拡張 ACL を使用不可にしますが、AIXC タイプ ACL の拡張アクセス権を使用不可にしません。 数字およびシンボリック・モードに関する詳細は、chmod を参照してください。

ソケットやファイルシステム・オブジェクトなど、オペレーティング・システム内の多くのオブジェクトには、さまざまなサブジェクトに関する ACL が関連付けられています。 これらのオブジェクト・タイプの ACL の詳細は、1 つ 1 つ異なります。

従来、 AIX は、ファイル・システム・オブジェクトへのアクセスを制御するためのモード・ビットをサポートしていました。 また、モード・ビットに関連する固有形式の ACL もサポートしてきました。 この ACL は基本モード・ビットで構成され、複数の ACE エントリーの定義も可能でした。これらの各 ACE エントリーが、モード・ビットに関連するユーザーまたはグループのアクセス権を定義しました。 このクラシック・タイプの ACL の動作は AIXC ACL タイプという名前で今後も継続してサポートされます。

ファイルシステム・オブジェクトでの ACL のサポートは、その基礎にある物理ファイルシステム (PFS) に依存しています。 この PFS は、ACL データを理解し、さまざまなユーザーのアクセスを保管、検索、および施行できなければなりません。 複数のタイプの ACL をサポートする物理ファイルシステムとは対照的に、中には ACL をまったくサポートしない (基本モード・ビットしかサポートしない) 物理ファイルシステムも存在する可能性があります。 AIX の下のいくつかのファイル・システムは、複数の ACL タイプをサポートするように拡張されています。 JFS2 および GPFS には、 NFS バージョン 4 プロトコル・ベースの ACL タイプもサポートする機能があります。 この ACL は、 AIXでは NFS4 ACL タイプという名前になっています。 この ACL タイプは、NFS バージョン 4 プロトコル仕様のほとんどの ACL 定義を順守しています。 また、このタイプは AIXC ACL タイプと比較してより精細なアクセス制御をサポートし、継承などの機能も提供します。