Directory Server のクライアント・ユーティリティー

Directory Server のクライアント・ユーティリティーは ldap_sasl_bind API または ldap_sasl_bind_s API を使用してバインドを開始します。 クライアント・ユーティリティーの動作および使用法は、ユーザーが指定する値によって異なります。

バインドを開始したときに、複数の結果が返される可能性があります。 ユーザー ID とパスワードをさまざまに組み合わせて使用すると、以下のようなバインド結果が返されます。
  • 管理 DN を指定した場合は、パスワードを正しく指定する必要があります。そうでないとバインドが正しく行われません。
  • ヌル DN または長さ 0 の DN を指定した場合は、Kerberos などの外部バインド (SASL) を使用していない限り、非認証アクセスという結果を受け取ります。
  • DN を指定する場合に、その DN がヌル以外であれば、パスワードも指定する必要があります。そうでないとエラーが返されます。
  • DN とパスワードを指定した場合でも、それらがディレクトリー内のどのサフィックスにも該当しないときは、参照が返されます。
  • DN とパスワードを指定して、それらが正しければ、ユーザーはその ID とバインドされます。
  • DN とパスワードを指定した場合でも、その DN が存在していなければ、非認証アクセスという結果を受け取ります。
  • DN とパスワードを指定し、その DN が存在している場合でも、オブジェクトにユーザー・パスワードがなければ、エラー・メッセージが返されます。
注:
これらの LDAP クライアント・ユーティリティーの一部については、ソース・コードを変更してユーザー独自のバージョンの LDAP クライアント・ユーティリティーを作成することが可能です。 変更可能なクライアント・ユーティリティーは以下のものです。
  • idsldapchangepwd
  • idsldapdelete
  • idsldapexop
  • idsldapmodify, idsldapadd
  • idsldapmodrdn
  • idsldapsearch
ただし、これらの LDAP ユーティリティーの変更済みバージョンはサポート対象外になります。

サンプル・コードは、仮想アプライアンス・コンソールの 「カスタム・ファイル管理」 > ClientSDK フォルダーからダウンロードできます。 カスタム・ファイルの管理を参照してください。

LDAP C クライアント・ユーティリティー (ibmdirctlldapaddldapchangepwdldapcompareldapdeleteldapexopldapmodifyldapmodrdnldapsearch、および ldaptrace) は、内部で connect() システム呼び出しを使用して、ターゲット・システム上の指定されたソケットに接続します。 LDAP クライアントがダウン状態のシステムに接続しようとした場合、connect() システム呼び出しは TCP/IP タイムアウトが満了にならないと終了しません。 この場合、LDAP クライアント操作がハング状態であるような印象が生じます。 LDAP クライアントがシステム全体の TCP/IP タイムアウト値より早い時点で元に戻されるように構成できます。 早めに戻されるようにするには、LDAP クライアント・コマンドを、タイムアウト値 (秒およびマイクロ秒単位) とともに -1 オプションを指定して実行します。

注: 指定された値がシステム全体の TCP/IP タイムアウトより大きい場合、システム全体の TCP/IP タイムアウトが最初に発生してから、アプリケーションが終了します。 -1 オプションはシステム全体の TCP/IP タイムアウト値をオーバーライドするわけではありませんが、LDAP C クライアント・ユーティリティーが早期にタイムアウトになるメカニズムを提供します。