8.2. Get Effective Rights 検索の形式
Get effective rights (GER) は拡張ディレクトリー検索です。これを使用するには、ldapsearch
コマンドで -E
オプションを Lightweight Directory Access Protocol (LDAP) コントロールに渡す必要があります。以下に例を示します。
# ldapsearch -x -D bind_dn -W -p server_port -h server_hostname -b base_DN -E [!]1.3.6.1.4.1.42.2.27.9.5.2=:GER_subject (searchFilter) attributeList
-b
は、GER サブジェクトを検索できるサブツリーまたはエントリーのベース DN です。検索ベースが特定のエントリー DN である場合、または結果として 1 つのエントリーのみ返される場合、その特定のエントリーに対してリクエスターが持つ権限が結果に示されます。複数のエントリーがフィルターに一致する場合、その検索では一致するすべてのエントリーと、各エントリーに対するリクエスターの権限が返されます。
1.3.6.1.4.1.42.2.27.9.5.2
オプションは、GER コントロールのオブジェクト ID です。感嘆符 (
!
) は、サーバーがこのコントロール (!
) をサポートしていない場合に、検索操作でエラーを返すか、何も返さないかを定義します。-
GER_subject は、確認対象の権限を持つユーザーです。GER_subject を空白 (
dn:
) のままにすると、匿名ユーザーの権限を結果として取得できます。 -
オプションの attributeList を使用すると、GER の結果は指定された属性またはオブジェクトクラス (
mail
属性など) に限定されます。 -
アスタリスク (
*
) 記号を使用すると、すべての属性が返されます。 -
プラス (
+
) 記号を使用すると、操作属性が返されます。
GER オプションは、ldapsearch
の結果に追加情報が追加され、特定のユーザーが持つ権限が示されます。その GER サブジェクトユーザーは、追加オプション -D
を使用して、自分のエントリーに対する権限を要求できます。
リクエスターが Directory Manager ユーザーではない場合、リクエスターには、リクエスターのエントリーに対して GER サブジェクトが持つ権限のみ表示されます。他のエントリーはすべて、有効な権限に対してアクセス権不足のエラーを返します。
以下は、通常のユーザーが GER 検索を実行する一般的なシナリオです。
- ユーザー A は、他のディレクトリーエントリーに対する権利を確認します。
- ユーザー A は、自身のエントリーに必要な権限をチェックします。
- ユーザー A は、ユーザー B がユーザー A のエントリーに対して持っている権限を確認します。