LDAPでldapsearchを使うにはどうすればいいですか

ldapsearchはLDAPディレクトリで検索操作を実行するコマンドラインツールです。指定された検索フィルタや検索スコープに従ってLDAPディレクトリから特定のエントリを検索して取得できます。

基本的な使い方は次のとおりです。

ldapsearch [オプション] [検索フィルタ] [検索範囲] [取得したい属性]

一般的な選択肢としては、以下があります:

  1. 簡素な認証機能を使用して紐付ける
  2. 指定バインド用のユーザーDN
  3. W:アカウントの紐付けに利用するパスワードを入力してください
  4. h:LDAP サーバのホスト名または IP アドレスを指定します。
  5. LDAPサーバのポート番号を指定
  6. 最上位ノードを指定して検索を開始する
  7. 検索範囲(base、one、sub)を指定

検索フィルターは検索条件を指定する式であり、必要に応じて結合してネストできます。一般的な検索フィルターには次のようなものがあります。

  1. objectClass=…:オブジェクトクラスで検索する、例えばユーザー(objectClass=person)やグループ(objectClass=group)
  2. 属性値による検索(例:メールアドレス(mail=xxx@xxx.com))
  3. 複数のフィルタの論理AND演算:(&(filter1)(filter2))
  4. (|(フィルタ1)(フィルタ2)):複数のフィルタの論理和演算

検索範囲はbase(現在のノードのみ検索)、one(現在のノードの直下のみ検索)、sub(子孫ノードすべて再帰的に検索)に指定できます。

LDAP エントリの返答時に返答する属性のリストを示す、戻り特性を与えます。

たとえば、LDAP ディレクトリ内の全ユーザの氏名とメールアドレスを検索する場合は、次のように指定します。

ldapsearch -x -D “cn=admin,dc=example,dc=com” -W -h ldap.example.com -p 389 -b “ou=users,dc=example,dc=com” -LLL

簡単な認証を用いて LDAP サーバーにバインドし、管理者ユーザーの DN とパスワードを指定して、”ou=users,dc=example,dc=com” ノードの下にあるオブジェクトクラスが “person” のすべてのエントリを検索し、名前とメールアドレス属性を返します。

bannerAds