DXsearch ツール -- ディレクトリの検索

定義されたフィルタを使って指定されたディレクトリ内を検索するには、DXsearch ツールを使用します。このユーティリティを使用すると、検索出力を LDIF またはテキストとして設定できます。または、返されたそれぞれの属性をファイルに書き込めます。
cad140jp
定義されたフィルタを使って指定されたディレクトリ内を検索するには、DXsearch ツールを使用します。このユーティリティを使用すると、検索出力を LDIF またはテキストとして設定できます。または、返されたそれぞれの属性をファイルに書き込めます。
このコマンドの形式は以下のようになります。
dxsearch [options] filter [attributelist]
  • オプション
    以下のオプションの 1 つ以上を示します。
  • -a { never | always | search | find }
    エイリアス参照外しを設定します。デフォルトは「
    never
    」です。
  • -A
    属性名のみ(値はない)を取得します。
  • -b
    basedn
    検索のためのベース DN を指定します。
  • -B
    非 ASCII 値を出力します。これらの値を抑制するために、このオプションを削除します。
  • -c
    連続モードで実行します。エラーはレポートされますが、プロセスは停止されません。
  • -C
    必要な場合は、リフェラルが追跡されることを指定します。ディレクトリ バックボーンが CA Directory DSA のみを含む場合は、このオプションは必要ではありません。X.500 標準で指定されているとおり、CA Directory DSA はリフェラルを自動的に処理します。
  • -d
    level
    [
    -
    d
    level
    ...]
    LDAP デバッグ レベルを設定します。
    • level
      デバッグのレベルを以下のように定義します。
      -1 すべてのデバッグを有効化
      0 デバッグしない
      1 関数のトレース
      2 パケット処理をデバッグ
      4 厳重なトレース デバッグ
      8 接続の管理
      16 送信および受信されたパッケージを出力
      32 検索フィルタ処理
      64 設定ファイル処理
      128 アクセス制御リスト処理
      256 統計ログ接続/操作/結果
      512 送信された統計ログ エントリ
      1024 シェル バックエンドとの通信を出力
      2048 エントリ解析デバッグを出力
      複数の番号をまとめて追加することにより、複数のデバッグ レベルを同時に指定することができます。たとえば、デバッグ レベルを 6 とすると、デバッグ レベルの 2 と 4 の両方が指定されます。
  • -D
    bindDN
    バインドを実行するユーザの識別名を指定します。
  • -E
    parameters
    検索拡張子を指定します。
    !
     を含めて、パラメータをクリティカルにします。
    • [!]domainScope
      ドメイン スコープ
    • [!]mv=
      filter
      一致した値フィルタ
    • [!]pr=
      size
      [/prompt|noprompt]
      ページが付けられた結果/プロンプト
    • [!]subentries[=true|false]
      サブエントリ
    • [!]sync=ro[/
      cookie
      ]
      LDAP Sync refreshOnly
    • rp[/
      cookie
      ][/
      slimit
      ]
      LDAP Sync refreshAndPersist
  • -F prefix
    ファイルに使用される URL プレフィクスを識別します。このオプションを指定しない場合、次のようにデフォルトが使用されます。
    file:///tmp/
  • -f
    filename ...
    "(%s")
    標準入力ではなく、読み取り元のファイルを指定します。
    このオプションは、2 つのモードを持ちます。ファイルは、LDAP フィルタ全体を提供するか、または CN のリストなどのテキストを提供できます。テキストを表示する場所に "(%s") をプットしてください。このセクションの最後にある例を参照してください。
    -c が使用されていない場合、DXsearch がファイルから読み取りを行う際に、失敗した最初の検索結果が返されるとツールは終了します。
  • -h
    host
    ディレクトリ ホストを指定します。これを指定しない場合、ツールでは
    localhost
    が代わりに使用されます。
  • -H
    LDAP_URI
    ディレクトリ ホストの LDAP URI を指定します。これを指定しない場合、ツールでは
    localhost
    が代わりに使用されます。
    以下の例のように、IPv6 アドレスを使用できます。
    -H ldap://[2001:db8:0:1:99a4:6159:198f:b309]
  • -L
    非 ASCII 値を持った LDIF V1 形式でエントリを出力します。
  • -LL
    コメントがなく、かつ非 ASCII 値を持った LDIF 形式でエントリを出力します。
  • -LLL
    コメントがなく、バージョン情報がなく、かつ非 ASCII 値の LDIF 形式でエントリを出力します。
  • -M
    マルチキャストせず、検索を単一のディレクトリに限定します。
  • -P 2|3
    LDAP プロトコルを指定します。デフォルトでは、3 に設定されています。
  • -p
    dap-port
    ディレクトリ ホスト コンピュータ上のポートを指定します。これを指定しない場合、ツールではポート 102 (OSI ポート)がデフォルトで使用されます。
    引数 -h および -p を組み合わせて単一の引数とし、これらをドット区切り形式の IP アドレスやホスト名として表すことができます。たとえば、以下の 1 行目のオプションは 2 行目のオプションと置き換えることができます。
    -h 192.168.19.202 -p 19389 -h 192.168.19.202:19389
  • -s { base | one | sub}
    検索スコープを指定します
  • -S
    attribute
    属性によって結果を並べ替えます。
  • -t
    dir
    指定されたディレクトリ内のファイルに値を書き込みます。
  • -T
    検索時間を計ります(検索結果は出力しません)。
  • -u
    出力にユーザ フレンドリなエントリを含めます。
  • -v
    詳細モードで実行します。
  • -W
    ユーザにバインド パスワードの入力を促します。
  • -w
    password
    バインド パスワードを指定します。
  • -y
    filename
    バインド パスワードが含まれるファイルを指定します。
  • -z
    number-entries
    検索のサイズ制限(エントリ内の)を指定します。
  • filter
    RFC2254 準拠 LDAP 検索フィルタ。
  • attributelist
    取得する属性のスペース区切りリストを指定します。属性リストが与えられない場合、すべての属性が取得されます。
例: 検索および結果
この例では、CA Directory に付属の Democorp サンプル ディレクトリを使用します。トレーニング演習としてこの例を繰り返すといいでしょう。
検索には以下のコマンドを使用します。
%dxsearch -L -h 192.168.19.202:19389 "(sn=horsfall)"
結果が以下のように表示されます。
dn: cn=Murray HORSFALL,ou=Repair,ou=Operations,o=Democorp,c=AU oc: organizationalPerson oc: newPilotPerson oc: quipuObject cn: Murray HORSFALL sn: HORSFALL title: Information Technology Manager telephone: 797 8877 description: Replacements mail: [email protected] postalAddress: 173 Toorak Pde $ Berkeley NSW postalCode: 2506
LDIF ファイルへ出力を送信する場合は、ファイル内容を編集し、その変更を実装するために DXmodify ツールを使用できます。
dxsearch -L -h yourhost:19389 "(sn=horsfall)" > h-modify.ldi
例: -f オプションを使用した LDAP 検索フィルタを含むテキスト ファイルのソーシング
ファイルには、LDAP 検索フィルタが含まれています。各フィルタが角括弧で囲まれていないことを確認します。
dxsearch -h yourhost:19389 -b "baseDN" -f filename.txt "(%s)"
この例では、filename.txt には、以下の行が含まれています。
&(oc=inetOrgPerson)(cn=user1) &(oc=inetOrgPerson)(cn=user2) &(oc=inetOrgPerson)(cn=user3)
例: -f オプションを使用したユーザ名を含むテキスト ファイルのソーシング
ファイルには、以下の例で示すように、フィルタで使用される場合に、DXsearch ツールが %s の代わりに用いるテキストが含まれます。
dxsearch -h yourhost:19389 -b "baseDN" -f filename.txt "(&(oc=inetOrgPerson)(cn=%s))"
この例では、filename.txt には、以下の行が含まれています。
user1 user2 user3
LDAP 検索の拡張
検索リクエストで -E オプションを指定して、リクエストで LDAP 拡張を含むことができます。拡張は、追加情報を提供するためと処理のために、検索リクエストに添付される LDAP コントロールの形式を取ります。
dxsearch で最もよく使用される LDAP 拡張は、シンプル ページング結果です。この拡張により、大規模な結果をユーザが指定したサイズのいくつかのページに分割できます。この拡張により、検索は、DSA 上で設定されている管理サイズ制限をバイパスできます。また、この拡張により、時間スループットで処理される他のリクエスを許可できます。
dxsearch によって使用されるシンプル ページング結果拡張の形式は、以下のとおりです。
-E ‘[<criticality>]pr=<number of entries per page>/[prompt|noprompt]’
  • <criticality>:
    このオプション項目は、感嘆符(!)で示されます。デフォルトでは、CA Directory は、シンプル ページング結果コントロールをサポートします。criticality は、リクエストを処理するサーバが結果をサポートしない場合に、シンプル ページング結果の処理方法を制御します。シンプル ページング結果がサポートされていない場合、criticality が '!' で設定されていると、検索リクエストは
    unavailableCriticalExtension で拒否されます。
    そうでない場合、シンプル ページング結果は無視され、完全な結果セットが返されます。
  • <number of entries per page>:
    この数値は、結果の各ページでサーバが返すエントリの数を示します。
  • prompt (デフォルト):
     dxsearch は、結果のページを表示して、ユーザが Enter キーを押す(または、別のページ サイズを入力する)のを待ちます。
  • noprompt:
    dxsearch は、ユーザに入力を促すことなく、次の結果ページに移ります。
例 1:
次のページに移動するメッセージを表示せずに、一度に 5 つの検索エントリを返す。シンプル ページング結果コントロールは、サーバによって処理される必要があります(クリティカル)。
dxsearch -h {hostname}:{port} -b c=AU -E ‘!pr=5/noprompt’ ‘(oc=*)’ commonName
例 2:
ユーザに次の 200 エントリの表示を指示するメッセージを表示して、一度に 200 個の検索エントリを返す
dxsearch -h {hostname}:{port} -b c=AU -E ‘pr=200’ ‘(oc=*)’ commonName
注:
クリティカルの感嘆符 '!' およびワイルドカード '*' を使用する場合、一重引用符が必要です。