ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server Express リファレンスマニュアル(コマンド編)
Interstage

16.17 ldapsearch

名前

ldapsearch  -  リポジトリのエントリの検索

形式

ldapsearch -b searchbase [-H uri | [-h host] [-p port]] [-D binddn] [-w passwd | -W] [-A] [-G type] [-l timelimit] [-m] [-n] [-s scope] [-S attr] [-t] [-T path] [-u] [-v] [-V] [-z sizelimit] [-Z file] [-f file] [filter] [attributes...]

機能説明

リポジトリのエントリを、検索フィルタで指定された条件で検索します。見つかったエントリは、標準出力にLDIFで出力されます。


JIS2004で追加された文字を検索条件に含める場合は、-Gオプションを使って、文字コード系にUTF8を指定してください。また、-fオプションを使って、検索フィルタをファイルで指定してください。
さらに、JIS2004で追加された文字が検索結果に含まれることが予想される場合は、-Gオプションを使って、文字コード系にUTF8を指定してください。また、検索結果をファイルにリダイレクトしてください。

以下に、ldapsearchコマンドの引数を説明します。

-b searchbase

サーチベース(検索開始位置のエントリ)の指定を行います。ここを起点にして、検索します。
空白、「*」(アスタリスク)、「\」(エンマーク)といった特殊文字を含む場合、引用符で囲む必要があります。使用するコマンドラインに応じて、シングル引用符とダブル引用符のどちらかで囲んでください。

特殊文字を含むDNについては、“ディレクトリサービス運用ガイド”の“エントリの管理”を参照してください。
サーチベースは省略できません。

-H uri

リポジトリのホスト名、およびポート番号を、URIの形式(スキーム+ホスト名+ポート番号の形式)で指定します。IPv6アドレスを指定する場合は、IPv6アドレスの前後を「[」、「]」(角括弧)で囲みます。

例)
通常ポート指定の場合  ldap://hostname.fujitsu.com:389
SSLポート指定の場合  ldaps://hostname.fujitsu.com:636
通常ポート指定でIPv6アドレスを指定する場合  ldap://[IPアドレス]:389

ポート番号を省略、または0を指定すると389になります。-Zオプションを指定して、ポート番号を省略、または0を指定すると、636になります。

-hオプション、および-pオプションとの併用はできません。

-h host

リポジトリのホスト名、または、IPアドレスを指定します。
本オプションを省略すると、自ホストが対象となります。

-Hオプションとの併用はできません。

-p port

リポジトリのTCPポート番号を指定します。
本オプションを省略、または0を指定すると、389になります。-Zオプションを指定して、本オプションを省略、または0を指定すると、636になります。

-Hオプションとの併用はできません。

-D binddn

リポジトリの管理者用DN、または一般ユーザ(リポジトリに登録されているエントリ)のDNを指定します。DNは、RFC2253で定義される文字列表現である必要があります。また、空白、「*」(アスタリスク)、「\」(エンマーク)といった特殊文字を含む場合、引用符で囲む必要があります。使用するコマンドラインに応じて、シングル引用符とダブル引用符のどちらかで囲んでください。
特殊文字を含むDNについては、“ディレクトリサービス運用ガイド”の“エントリの管理”を参照してください。
本オプションおよび-W、または-wオプションを省略すると、アノニマス(匿名ユーザ)でのアクセスになります。

-w passwd

リポジトリの管理者用DNのパスワードを指定します。本オプションは、-Wオプションとの併用はできません。
本オプションおよび-D、または-Wオプションを省略すると、アノニマス(匿名ユーザ)でのアクセスになります。

-W

対話入力によりリポジトリの管理者用DNのパスワードを指定します。本オプションは、-wオプションとの併用はできません。
本オプションおよび-D、または-wオプションを省略すると、アノニマス(匿名ユーザ)でのアクセスになります。

-A

属性名のみを検索します。なお、値は表示されません。

-G type

コマンドで使用する文字コードを指定します。指定できるコード系と値は次のとおりです。

  

コード系

指定する値

ISO-8859-1

88591

Shift-JIS

SJIS

UTF-8

UTF8

本オプションを省略すると、SJISとみなします。
JIS2004で追加された文字を検索条件に含める場合、または、JIS2004で追加された文字が検索結果に含まれることが予想される場合は、UTF8を指定してください。
さらに、検索結果をファイルに出力してください。

  

コード系

指定する値

ISO-8859-1

88591

Shift-JIS

SJIS

日本語EUC

EUC

UTF-8

UTF8

本オプションを省略すると、ロケール環境(LANG環境変数)に従います。
管理者権限でログインして操作を行う場合、ロケール環境が設定されていないことがありますので、このような時は、必ず本オプションを指定してください。
本オプションを省略した場合の、ロケール環境とコマンドで使用するコード系の対応を以下に示します。

LANG環境変数

コード系

ja
japanese
ja_JP.eucJP

日本語EUC

ja_JP.PCK

Shift-JIS

ja_JP.UTF-8

UTF-8

上記以外

ISO-8859-1

  

コード系

指定する値

ISO-8859-1

88591

Shift-JIS

SJIS

日本語EUC

EUC

UTF-8

UTF8

本オプションを省略すると、ロケール環境(LANG環境変数)に従います。
管理者権限でログインして操作を行う場合、ロケール環境が設定されていないことがありますので、このような時は、必ず本オプションを指定してください。
本オプションを省略した場合の、ロケール環境とコマンドで使用するコード系の対応を以下に示します。

LANG環境変数

コード系

ja_JP.UTF-8

UTF-8

上記以外

ISO-8859-1

-l timelimit

検索のタイムリミット(秒単位)およびBIND結果、検索結果の待ち時間(秒単位)をtimelimit パラメタで指定します。初期値は無制限です。

リポジトリにアクセスするDN(バインドDN)と、サーバ側の検索タイムアウト時間の設定値により、本オプションの指定が有効にならない場合があります。詳細については、Interstage管理コンソールのヘルプを参照してください。

-m

usageを表示します。

-n

リポジトリに対して、認証要求(Bind要求)のみ送信します。その他の処理要求は送信しません。
リポジトリの起動確認や、コマンドを実行する前のオプションの確認などに使用します。

認証に成功した場合は、何も表示されません。認証に失敗した場合、またはオプションの指定誤り等がある場合は、メッセージが表示されます。

-s scope

検索の範囲(scope パラメタ)を以下の3つから指定します。

  • base : -bオプションで指定された階層のみを検索します。

  • one : -bオプションで指定された階層の1つ下の階層を検索します。

  • sub : -bオプションで指定された階層以下すべてを検索します。(初期値)

-S attr

クライアントで属性attr について結果をソート(昇順)します。
attr パラメタが「」(空文字)である場合はDNでソートされます。

本オプションで指定する属性attrを、attributesオプションで指定する検索属性に含めてください。含まない場合はソートされません。

-t

全属性の検索結果をファイルに書き込みます。検索結果の属性名の数だけファイルが作成されます。ファイル名は、「ldapsearch-属性名-6文字の一意な文字列」になります。具体的には、以下のようなファイル名になります。

例)

ldapsearch-ou-pwm1aI

  

-T未指定の場合、以下の環境変数に設定されているパスの配下にファイルを作成します。また、有効となる環境変数の優先順位は以下のとおりです。

  1. ユーザ環境変数のTMPDIR

  2. システム環境変数のTMPDIR

  3. ユーザ環境変数のTMP

  4. システム環境変数のTMP

  5. ユーザ環境変数のTEMP

  6. システム環境変数のTEMP

-T未指定の場合、/tmp配下にファイルを作成します。

-T path

-tオプションを指定した場合に作成される、検索結果ファイルの作成先のパスを指定します。作成先のパスには、存在するパスを指定してください。存在しない場合は、作成してから、本コマンドを実行してください。

本オプションを省略した場合は、環境変数に設定されているパスの配下に検索結果ファイルが作成されます。有効となる環境変数については、-tオプションの説明を参照してください。

本オプションを省略した場合は、/tmp配下に検索結果ファイルが作成されます。

-u

出力形式にユーザフレンドリ名を付加して表示します。
ユーザフレンドリ名は、ufn: で始まる行です。

例)

dn: cn=User001 Fujitsu,ou=User,ou=interstage,o=fujitsu,dc=com
ufn: User001 Fujitsu, User, interstage, fujitsu, com

  

-v

詳細情報を出力します。

-V

コマンドのバージョンレベルを以下の形式で出力します。

例)

ldapsearch: @(#) $ Interstage Directory Service V3.0: ldapsearch (Dec 16 2005 12:54:54) $
(LDAP library: FUJITSU LIMITED 300)

-z sizelimit

検索のサイズリミット(エントリ数)をsizelimit パラメタで指定します。初期値は無制限です。

リポジトリにアクセスするDN(バインドDN)と、サーバ側の検索可能最大エントリ数の設定値により、本オプションの指定が有効にならない場合があります。詳細については、Interstage管理コンソールのヘルプを参照してください。

-Z file

SSLを使用して、安全な通信、認証を行う場合に指定します。認証は、-Dオプション、-wオプション、または-Wオプションにより指定されたオプション引数を使用して簡易認証を行います。
file パラメタにはSSL環境設定に必要な項目を記述したファイル名を指定します。環境設定の詳細については、“ディレクトリサービス運用ガイド”の“SSL通信環境の構築”を参照してください。

-f file

LDAP検索フィルタを含むファイルを指定します。検索フィルタをファイルから読み込む場合は、filterとして「"%s"」を指定する必要があります。
本オプションに続けて、filterオプション("%s")を指定してください。

以下に、検索フィルタファイルの記述例を示します。

例)
telephoneNumberを含む全エントリを検索する。次にcnがUser001、かつsnがFujitsuであるエントリを検索する場合

telephoneNumber=*
(&(cn=User001)(sn=Fujitsu))


LDAP検索フィルタをファイルで指定する場合

ldapsearch -H ldap://hostname:389 -D "cn=manager,ou=interstage,o=fujitsu,dc=com" -w admin -b "ou=interstage,o=fujitsu,dc=com" -f sch.txt "%s" sn(注)

改行を入れないで1行で入力します。

検索フィルタの詳細については、“ディレクトリサービス運用ガイド”の“エントリの管理”-“検索フィルタ”を参照してください。

filter

LDAP検索フィルタを指定します。
本オプションは、attributesオプションの直前に指定してください。attributesオプションを指定しない場合は最後の引数として指定する必要があります。

検索フィルタとして指定できる最大長は、512バイトまでです。
本オプションを省略した場合は、「"objectClass=*"」が検索フィルタに指定されたものとして、検索します。

検索フィルタをファイルから読み込む場合は、-fオプションに続けて、filterとして「"%s"」を指定する必要があります。

空白、および「*」(アスタリスク)、「\」(エンマーク)といった特殊文字を含む場合、引用符で囲む必要があります。使用するコマンドラインに応じて、シングル引用符とダブル引用符のどちらかで囲んでください。

以下の特殊文字は、「\」(エンマーク)でエスケープしてください。

特殊文字

指定方法

*

\2a

(

\28

)

\29

\

\5c

  


JIS2004で追加された文字を検索条件に含める場合は、-fオプションを使って、検索フィルタをファイルで指定してください。


検索フィルタの詳細については、“ディレクトリサービス運用ガイド”の“エントリの管理”-“検索フィルタ”を参照してください。

attributes

検索結果として取得する属性を指定します。複数の属性を指定する場合は空白で区切ります。属性の指定がない場合は、全属性が検索結果として返されます。
本オプションを指定する場合は、filterオプションに続けて、最後の引数としてください。

注意事項

使用例

以下のすべての使用例で、改行を入れないで1行で入力してください。

すべてのエントリのsnを検索する場合

ldapsearch -H ldap://hostname:389 -D "cn=manager,ou=interstage,o=fujitsu,dc=com" -w admin -b "ou=interstage,o=fujitsu,dc=com" "objectClass=*" sn

cnがUser001で、かつ、snがFujitsuであるエントリを検索する場合

ldapsearch -H ldap://hostname:389 -D "cn=manager,ou=interstage,o=fujitsu,dc=com" -w admin -b "ou=interstage,o=fujitsu,dc=com" "(&(cn=User001)(sn=Fujitsu))"

cnがUser001で始まるエントリのsnを検索する場合

ldapsearch -H ldap://hostname:389 -D "cn=manager,ou=interstage,o=fujitsu,dc=com" -w admin -b "ou=interstage,o=fujitsu,dc=com" "cn=User001*" sn

すべてのエントリをファイル(ldif.txt)に出力する場合

ldapsearch -H ldap://hostname:389 -D "cn=manager,ou=interstage,o=fujitsu,dc=com" -w admin -b "ou=interstage,o=fujitsu,dc=com" "objectClass=*" > ldif.txt