第3章 LDAP 検索フィルター
検索フィルターは、検索操作が返す特定のエントリーを選択します。ldapsearch コマンドラインユーティリティーまたはディレクトリーサーバー Web コンソールで検索フィルターを使用できます。
ディレクトリーサーバーは、エントリーの識別名 (DN) で使用される属性ではなく、エントリーに保存されている属性と値のペアに基づいて、エントリーを検索します。たとえば、エントリーに DN uid=user_name,ou=People,dc=example,dc=com がある場合、dc=example の検索は、このエントリーに属性と値のペア dc:example が存在する場合のみ、エントリーに一致します。
ldapsearch を使用する場合は、1 つのファイルに複数の検索フィルターを定義し、各フィルターを別の行に定義できます。または、コマンドラインで検索フィルターを直接指定することもできます。
検索フィルターの基本的な構文は次のとおりです。
(<attribute><operator><value>)
(<attribute><operator><value>)
たとえば、検索フィルター (employeeNumber>=500) には、属性として employeeNumber、演算子として >=、および値として 500 があります。
一致するルールを持つ検索フィルターの構文は次のとおりです。
(<attribute>:<matching_rule>:=<value>)
(<attribute>:<matching_rule>:=<value>)
たとえば、検索フィルター (givenName:caseExactMatch:=Daniel) には、属性として givenName、マッチングルールとして caseExactMatch、値として Daniel が含まれます。
ブール演算子と組み合わせて、さまざまな属性を使用するフィルターを定義できます。
3.1. LDAP 検索フィルターでの属性の使用 リンクのコピーリンクがクリップボードにコピーされました!
基本検索では、エントリー内の属性または特定の値の存在を検索します。検索では、エントリー内の属性をいくつかの方法で検索できます。
属性が存在するかどうかを確認します (存在検索)。プレゼンス検索では、アスタリスク (
*) を使用して、値に関係なく、特定の属性が設定されているすべてのエントリーを返します。たとえば、
"(manager=*)"フィルターは、manager属性を持つすべてのエントリーを返します。正確な属性値に一致します (等価検索)。等価検索は、特定の値を持つ属性を検索します。たとえば、
"(cn=example)"フィルターは、exampleに設定された共通名 (cn) を含むすべてのエントリーを返します。属性に言語タグに関連付けられた値がある場合、検索ではすべての値が返されます。そのため、以下の 2 つの属性値は両方とも
"(cn=example)"フィルターと一致します。cn: example cn;lang-fr: example
cn: example cn;lang-fr: exampleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 部分的な値 (サブ文字列検索) と一致するものをリスト表示します。たとえば、
"(sn=*erson)"検索フィルターは次の値を返します。sn: Derson sn: Anderson
sn: Derson sn: AndersonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 部分文字列検索の長さの設定の詳細は、部分文字列インデックスの検索キーの長さの変更 を参照してください。