第10章 エントリーの検索および検索のチューニング


Web コンソール、コマンドライン、および LDAP 検索ユーティリティーを使用して、ディレクトリーエントリーを検索できます。グローバル、ユーザーレベル、匿名バインドに設定されたリソース制限を使用することで、検索パフォーマンスを向上させることができます。

10.1. コマンドライン (ldapsearch) を使用したエントリーの検索

ldapsearch コマンドラインユーティリティーを使用して、ディレクトリーエントリーを検索できます。このユーティリティーは、指定した ID および認証情報を使用して指定のサーバーへの接続を開き、指定の検索フィルターに基づいてエントリーを見つけます。検索範囲には以下を含めることができます。

  • 1 つのエントリー (-s base)
  • エントリーの直接のサブエントリー (-s one)
  • ツリーまたはサブツリー全体 (-s sub)
注記

ldapsearch ユーティリティーは、識別名の属性に基づいて、ディレクトリーエントリーを検索しません。識別名は、ディレクトリーエントリーの一意の識別子にすぎず、検索キーとして使用することはできません。代わりに、ldapsearch は、エントリーに保存されている属性値のペアに基づいて、エントリーを検索します。たとえば、エントリーの識別名が uid=bjensen,ou=People,dc=example,dc=com の場合は、dc:example が属性として明示的に追加されていないかぎり、dc=example の検索は、そのエントリーに一致しません。値のペアをこのエントリーに追加します。

ldapsearch ユーティリティーは、RFC 2849 仕様で定義されている LDIF 形式で結果を返します。

10.1.1. ldapsearch コマンドの形式

ldapsearch コマンドは、次の形式を使用する必要があります。

# ldapsearch [-x | -Y mechanism] [options] [search_filter] [list_of_attributes]
Copy to Clipboard Toggle word wrap
  • -x または -Y

    -x (単純なバインド) または -Y (SASL 機能) を使用して、接続のタイプを設定します。

  • options

    ldapsearch コマンドラインオプション。オプションを使用する場合は、検索フィルターの前に指定します。

  • search_filter

    LDAP 検索フィルター。-f オプションを使用して、ファイルで検索フィルターを設定する場合は、検索フィルターを指定しないでください。

  • list_of_attributes

    空白文字で区切られた属性のリスト。属性のリストを指定すると、検索結果で返される属性の数が減ります。この属性のリストは、検索フィルターの後に表示されなければなりません。属性のリストを指定しない場合、検索は、操作属性を除いて、ディレクトリーに設定されたアクセス制御によって許可されているすべての属性の値を返します。

    検索で操作属性を返す場合は、ldapsearch 検索コマンドで明示的に指定する必要があります。オブジェクトのすべての操作属性を返すには、+ を使用します。明示的に指定された操作属性に加えて、通常の属性を取得するには、属性のリストでアスタリスク (*) を使用します。

    アスタリスク文字をバックスラッシュ (\*) でエスケープする必要がある場合があることに注意してください。

    一致する DN のリストのみを取得するには、属性 1.1 を使用します。以下に例を示します。

    # ldapsearch -D "cn=Directory Manager" -W -H ldap://server.example.com \ -b "dc=example,dc=com" -x "(objectclass=inetorgperson)" 1.1
    Copy to Clipboard Toggle word wrap

10.1.2. 一般的に使用される ldapsearch オプション

次の表に、最も一般的に使用される ldapsearch ユーティリティーオプションを示します。指定された値にスペース文字が含まれている場合は、値を一重引用符または二重引用符で囲む必要があります。次に例を示します。

-b "cn=My Special Group,ou=groups,dc=example,dc=com"

重要

OpenLDAP の ldapsearch ユーティリティーは、デフォルトで SASL 接続を使用します。単純なバインドを実行するか、TLS を使用するには、-x 引数を使用して、SASL を無効にし、他の接続方法を許可します。

Expand
オプション説明

-b

検索の開始点を指定します - ベース識別名 (DN)。識別名はデータベースに存在する必要があることに注意してください。LDAP_BASEDN 環境変数をベース DN として設定する場合、このオプションを使用する必要はありません。
値に空白文字が含まれている場合は、オプション値を一重引用符または二重引用符で囲んで指定する必要があります。例:
-b "cn=user,ou=Product Development,dc=example,dc=com".
ルート DSE エントリーを検索するには、ここで -b "" などの空の文字列を指定します。

-D

サーバーへの認証に使用される DN を指定します。Directory Server は DN 値を認識する必要があり、DN にはエントリーを検索する権限が必要です。例:
-D "uid=user_name,dc=example,dc=com".
サーバーが匿名アクセスをサポートしている場合は、このオプションを指定しないでください。

-H

サーバーに接続するための LDAP URL を指定します。LDAP URL の形式は次のとおりです。

ldap[s]://hostname:[port]
Copy to Clipboard Toggle word wrap

ポート値の指定はオプションです。ldapsearch ユーティリティーは、デフォルトの LDAP ポート 389 または LDAPS ポート 636 を使用します。

このユーティリティーでは、スラッシュ (/) の代わりに HTML 16 進コード %2F で区切られた各要素を持つ LDAPI URL を使用することもできます。以下に例を示します。

ldapi://%2Ffull%2Fpath%2Fto%2Fslapd-example.socket
Copy to Clipboard Toggle word wrap

LDAPI の場合は、サーバーがリッスンしている LDAPI ソケットを表すファイルへのフルパスを指定します。URL を指定しなかった場合、ldapsearch は localhost または /etc/openldap/ldap.conf ファイルで指定された設定を使用します。

-h

Directory Server がインストールされているマシンのホスト名または IP アドレスを指定します。たとえば、-h server.example.com です。ホストを指定しなかった場合、ldapsearch は localhost を使用します。Directory Server は、IPv4 アドレスと IPv6 アドレスの両方に対応します。

注記

-h オプションは推奨されておらず、今後のリリースで削除される予定です。代わりに -H オプションを使用してください。

-p

Directory Server が使用する TCP ポート番号を指定します。たとえば、-p 1049 です。デフォルトのポート番号は 389 です。

注記

-p オプションは推奨されておらず、今後のリリースで削除される予定です。

-l

検索要求が完了するまでの最大時間制限を秒単位で指定します。たとえば、-l 300 です。制限時間は、nsslapd-timelimit 属性で指定された値を超過しないようにする必要があります。これは、ldapsearch ユーティリティーが、これら 2 つの値を比較し、最小の値を使用するためです。デフォルトの nsslapd-timelimit 属性値は 3600 秒です。

-s scope

検索の範囲を指定します。次のスコープのいずれかを選択できます。

  • sub
    -b オプションで指定されたエントリーとそのすべての子孫エントリーを検索します。これはデフォルト設定です。
  • one
    -b オプションで指定されたエントリーの直接の子を検索します。ldapsearch ユーティリティーは、ベース DN 自体ではなく、子のみを考慮します。
  • ベース
    -b オプションで指定されたエントリー、または LDAP_BASEDN 環境変数で定義されたエントリーのみを検索します。

-W

パスワードの入力を求めます。このオプションを指定しなかった場合、ldapsearch ユーティリティーは匿名アクセスを使用します。または、-w オプションを使用して、パスワードをユーティリティーに渡します。

注記

パスワードは他のユーザーのプロセスリストに表示され、シェルの履歴に保存されます。

-x

単純なバインドを許可するためにデフォルトの SASL 接続を無効にします。

-Y SASL_mechanism

認証に使用する SASL メカニズムを設定します。機能を設定しない場合、ldapsearch はサーバーがサポートする最適な機能を選択します。-x オプションを使用しない場合は、代わりに -Y オプションを指定する必要があります。

-z number

検索要求への応答で返すエントリーの最大数を設定します。この値は、ルート DN を使用して、バインドする際、nsslapd-sizelimit 属性を上書きします。

-f

検索フィルターでファイルを指定します。

10.1.3. 特殊文字の使用

ldapsearch ユーティリティーを使用する場合は、空白文字、アスタリスク (*)、バックスラッシュ (\) など、コマンドラインインタープリターにとって特別な意味を持つ文字を使用して、値を指定する必要がある場合があります。コマンドラインインタープリターに応じて、特殊文字を含む値を一重引用符 (' ') または二重引用符 (" ") で囲みます。以下に例を示します。

-D "cn=John Smith,ou=Product Development,dc=example,dc=com"
Copy to Clipboard Toggle word wrap

通常は、単一引用符 (' ') を使用して、値を囲みます。シェル変数がある場合は、二重引用符 (" ") を使用して、変数の補間を許可します。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat