10.2. ldapsearch フィルターの使用

ldapsearch フィルターを使用すると、検索結果を絞り込むことができます。

たとえば、共通名が example に設定されたすべてのエントリーが検索結果に含まれるようにするには、次のようにします。

"(cn=example)"

この場合、等号 (=) は Operator であり、example は値です。

表10.2 ldapsearch フィルター Operator

検索タイプOperator説明

等号

=

値と完全に一致するエントリーを返します。(例: cn=example)。

部分文字列

=string* string

substring が一致するすべてのエントリーを返します。(例: cn=exa*l)。アスタリスク (*) はゼロ (0) 以上の文字を示します。

以上

>=

値以上の属性を持つすべてのエントリーを返します。(例: uidNumber >= 5000)。

より小か等しい

<=

値以下の属性を持つすべてのエントリーを返します。(例: uidNumber <= 5000)。

存在

=*

1 つ以上の属性を持つすべてのエントリーを返します。(例: cn=*)。

概算値

~=

値属性に類似するすべてのエントリーを返します。たとえば、l~=san fransicol=san francisco を返すことができます。

ブール 演算子を使用して、ldapsearch コマンドに複数のフィルターを組み合わせることができます。

表10.3 ldapsearch フィルターのブール演算子

検索タイプOperator説明

AND

&

フィルター内のすべてのステートメントが true のエントリーをすべて返します。例: (&(filter)(filter)(filter)…​)

または

|

フィルター内の少なくとも 1 つのステートメントが true のエントリーをすべて返します。例: (|(filter)(filter)(filter)…​)

NOT

!

フィルター内のステートメントが true でないエントリーをすべて返します。例: (!(filter))