アクセス制御リストの管理
コマンドを使用して ACL の表示と設定ができます。
アプリケーション・プログラマーおよび その他のサブシステム開発者は、このセクションで述べる ACL ライブラリー・インターフェースならびに ACL 変換ルーチンを使用することができます。
ACL 管理コマンド
以下のコマンドを使用して、ファイルシステム・オブジェクトの ACL を扱うことができます。
- aclget
- FileObject という名前のファイル・オブジェクトの ACL を標準出力に、読み取り可能なフォーマットで書き込むか、または同様のものを outAclFile という名前の出力ファイルに書き込みます。
- aclput
- FileObject の ACL を、標準出力、すなわち inAclFile を介して指定された入力を使用して、ファイルシステム上に設定します。
- acledit
- 指定された FileObject の ACL を編集するために、エディターを開きます。
- aclconvert
- ACL のタイプを別のタイプに変換します。 変換がサポートされていない場合は、このコマンドは失敗します。
- aclgettypes
- ファイルシステム・パスでサポートされている ACL タイプを取得します。
ACL ライブラリー・インターフェース
ACL ライブラリー・インターフェースは、ACL をアクセスする必要のあるアプリケーションに対してフロントエンドとして働きます。 アプリケーション (前述の汎用 ACL 管理コマンドを含む) は、登録されていない ACL syscall を直接呼び出すことはしません。その代わりに、汎用 syscall およびタイプ固有のロード可能なモジュールを、ライブラリー・インターフェースを介してアクセスします。 これにより、カスタマーのアプリケーション・プログラマーはロード可能なモジュールの複雑な用法から保護され、将来の AIX® リリースにおけるバックワード・バイナリー互換性の問題が低減されます。
以下のライブラリー・インターフェースは syscall を呼び出します。
- aclx_fget および aclx_get
- aclx_get および aclx_fget 機能は、ファイルシステム・オブジェクトのアクセス・コントロール情報を検索し、acl により指定されたメモリー領域にそれを書き込みます。 acl のサイズとタイプ情報は、*acl_sz と *acl_type に保管されます。
- aclx_fput および aclx_put
- aclx_put および aclx_fput 機能は、入力ファイル・オブジェクトの acl に指定されたアクセス・コントロール情報を保管します。 これらの機能は、ACL タイプ変換は行いません。ACL タイプ変換を行うには、呼び出し側が aclx_convert 機能を明確に呼び出す必要があります。
- aclx_gettypes
- aclx_gettypes 機能は、特定のファイルシステムでサポートされている ACL タイプのリストを取得します。 1 つのファイルシステム・タイプが複数の ACL タイプを同時にサポートすることができます。 各ファイルシステム・オブジェクトは、そのファイルシステムによりサポートされる ACL タイプのリストに属する、固有の ACL タイプと関連しています。
- aclx_gettypeinfo
- aclx_gettypeinfo 機能は、パスで指定されたファイルシステム上の ACL タイプの特性と能力を取得します。 ACL 特性は、通常、それぞれの ACL タイプに固有なデータ構造タイプとなることに注意してください。 AIXC および NFS4 ACL に使用されるデータ構造は、別のドキュメントで述べます。
- aclx_print および aclx_printStr
- これらの 2 つの機能は、バイナリー・フォーマットの ACL をテキスト表示に変換します。 これらの機能は、aclget および acledit コマンドで呼び出されます。
- aclx_scan および aclx_scanStr
- これらの 2 つの機能は、ACL のテキスト表示をバイナリー・フォーマットに変換します。
- aclx_convert
- ACL のタイプを別のタイプに変換します。 この機能は、cp、mv、または tar のようなコマンドによる暗黙的な変換に使用します。
ACL 変換
ACL 変換を使用することにより、ACL のタイプを別のタイプに変換することができます。 複数の ACL タイプのサポートは、特定の物理ファイルシステムでどの ACL タイプがサポートされているかによって異なります。 すべてのファイルシステムが、すべての ACL タイプをサポートするとは限りません。 例えば、 ファイルシステム 1 が AIXC ACL タイプのみをサポートし、ファイルシステム 2 は AIXC と NFS4 ACL タイプをサポートする場合があります。 2 つのファイルシステム間で AIXC ACL をコピーすることは可能ですが、 ファイルシステム 2 からファイルシステム 1 へ NFS ACL をコピーする場合は、ACL 変換を使用する必要があります。 ACL 変換は、アクセス・コントロール情報をできる限り多く保存します。
- ライブラリー・ルーチン
- これらのルーチンおよびユーザー・レベルの ACL フレームワークによって、ACL 変換による ACL のタイプから別のタイプへの変換が可能となります。
- aclconvert コマンド
- このコマンドは ACL を変換します。
- aclput および acledit コマンド
- これらのコマンドは ACL タイプを変更する場合に使用します。
- cp および mv コマンド
- これらのコマンドは、複数の ACL タイプを扱う場合に使用可能にされ、必要に応じて、内部 ACL 変換を行います。
- backup コマンド
- このコマンドは、レガシー・フォーマットのバックアップを行うように要求された場合、 ACL 情報を既知のタイプとフォームに変換します。 ACL をネイティブ・フォーマットで取得するには、-U オプションを指定します。 詳しくは、『backup』を参照してください。