LinuxまたはSolarisでのLDAPツールの使用
eDirectoryの中にあるLDAPツールを使用することにより、LDAPディレクトリサーバを管理できます。次のセクションでは、eDirectory用のLDAPツールの使用方法について説明します。
LDAPツールを安全に実行するには、「LinuxおよびSolarisシステムでのeDirectory操作に関するセキュリティを確保する」を参照し、eDirectoryに対して安全なLDAP接続を確立するコマンドラインによるLDAP操作で、DERファイルを指定します。
LDAPディレクトリサーバ内のエントリを変更する
ldapmodifyツールはLDAPサーバとの接続を開始し、エントリのバインド、変更、追加を行います。エントリ情報は通常は標準入力から読み出されますが、-fオプションを指定するとファイルから読み出されます。
ldapmodify操作を実行するときは次の構文を使用します。
ldapmodify [-a] [-b] [-c] [-r] [-n] [-v] [-d debuglevel] [-e key filename] [-D binddn] [[-W]|[-w passwd]] [-h ldaphost] [-p ldap-port] [-f file]
表 106. ldapmodifyのパラメータ
-a |
新しいエントリを追加します。ldapmodifyのデフォルトは、既存エントリの変更です。 |
-b |
スラッシュ(/)で始まる値はバイナリ値と見なします。また、実際の値が格納されているファイルのパスは、値が通常設定されている場所に指定されていると見なします。 |
-c |
連続操作モード。エラーが通知されても、ldapmodifyは変更動作を継続します。デフォルトでは、エラーの通知後に終了します。 |
-r |
デフォルトでは既存の値を置換します。 |
-n |
実行された場合の結果を表示しますが、実際にはエントリの変更は行いません。-vと組み合わせて使用すると、デバッグ時に便利です。 |
-v |
冗長モードが設定され、多くの診断メッセージが標準出力に書き込まれます。 |
-F |
replica:で始まる入力行の内容に関わりなくすべての変更を無条件で適用します(デフォルトでは、replica:行は使用中のLDAPサーバホストおよびポートと比較され、replogレコードを実際に適用するかどうか決定します)。 |
-d debuglevel |
LDAPデバッグレベルをdebuglevelに設定します。このオプションを有効にするには、ldapmodifyをコンパイルするときにLDAP_DEBUGの定義が必要です。 |
-e |
SSLバインドのためファイル名の確認を行います。 |
-f file |
エントリ情報を標準入力ではなくfileから読み出します。 |
-D binddn |
X.500ディレクトリにバインドします。binddnには、RFC 1779の定義に従った文字列表現のDNを指定します。 |
-W prompt_for_simple_ authentication |
コマンドラインにパスワードを指定するのではなく、次の指定を適用します。 |
-w passwd |
簡易認証のパスワードとしてpasswdを使用します。 |
-h ldaphost |
LDAPサーバの実行場所となっている代替ホストを指定します。 |
-p ldapport |
LDAPサーバが監視している代替TCPポートを指定します。 |
例
LDAPディレクトリサーバのエントリを変更するため、次のように入力します。
ldapmodify -h xyzcompany.com -D cn=admin,o=xyzcompany -w treasure -f T01.mod
LDAPディレクトリサーバ内エントリの相対識別名を変更する
LDAPディレクトリサーバ内のエントリの相対識別名(RDN)を変更するときには、ldapmodrdnを使用できます。ldapmodrdnツールはLDAPサーバとの接続を開始し、エントリのRDNのバインドと変更を行います。エントリ情報の読み出し元は、標準入力、-fオプションが指定された場合はファイル、またはコマンドラインのdnとrdnのペアです。
ldapmodrdn操作を実行するときは次の構文を使用します。
ldapmodrdn [-r] [-n] [-v] [-c] [-d debuglevel] [-e key filename] [-D binddn] [[-W]|[-w passwd]] [-h ldaphost] [-p ldapport] [-f file] [dn rdn]
表 107. ldapmodrdnのパラメータ
-r |
エントリから旧RDN値を削除します。デフォルトでは、旧値は保持されます。 |
-n |
実行された場合の結果を表示しますが、実際にはエントリの変更は行いません。-vと組み合わせて使用すると、デバッグ時に便利です。 |
-v |
冗長モードが設定され、多くの診断メッセージが標準出力に書き込まれます。 |
-c |
連続操作モード。エラーが通知されても、ldapmodifyは変更動作を継続します。デフォルトでは、エラーの通知後に終了します。 |
-d debuglevel |
LDAPデバッグレベルをdebuglevelに設定します。このオプションを有効にするには、ldapmodrdnをコンパイルするときにLDAP_DEBUGの定義が必要です。 |
-e |
SSLバインドのためファイル名の確認を行います。 |
-f file |
エントリ変更情報を標準入力やコマンドラインではなくfileから読み出します。 |
-D binddn |
X.500ディレクトリにバインドします。binddnには、RFC 1779の定義に従った文字列表現のDNを指定します。 |
-w |
簡易認証のプロンプトです。コマンドラインにパスワードを指定するのではなく、次の指定を適用します。 |
-w passwd |
簡易認証のパスワードとしてpasswdを使用します。 |
-h ldaphost |
LDAPサーバの実行場所となっている代替ホストを指定します。 |
-p |
LDAPサーバが監視している代替TCPポートを指定します。 |
例
LDAPディレクトリサーバ内のエントリのRDNを変更するため、次のように入力します。
ldapmodrdn -r -D cn=admin,o=xyzcompany -w treasure cn=UserDetail,o=xyzcompany cn=UserInfo
LDAPディレクトリサーバからエントリを削除する
LDAPディレクトリサーバからエントリを削除するときには、ldapdeleteを使用できます。ldapdeleteツールはLDAPサーバとの接続を開始し、エントリのバインドと削除を行います。1つ以上のdn引き数が指定されると、その識別名を持つエントリが削除されます。各dnにはRFC 1779の定義に従った文字列表現のDNを指定します。dn引き数を指定していないと、DNのリストが標準入力から読み取られ、-fフラグが指定されている場合にはファイルから読み取られます。
ldapdelete操作を実行するときは次の構文を使用します。
ldapdelete [-n] [-v] [-c] [-d debuglevel] [-e key filename] [-f file] [-D binddn] [[-W]| [-w passwd]] [-h ldaphost] [-p ldapport] [dn]...
表 108. ldapdeleteのパラメータ
-n |
実行された場合の結果を表示しますが、実際にはエントリの削除は行いません。-vと組み合わせて使用すると、デバッグ時に便利です。 |
-v |
冗長モードが設定され、多くの診断メッセージが標準出力に書き込まれます。 |
-c |
連続操作モード。エラーが通知されても、ldapdeleteは変更動作を継続します。デフォルトでは、エラーの通知後に終了します。 |
-d debuglevel |
LDAPデバッグレベルをdebuglevelに設定します。このオプションを有効にするには、ldapdeleteをコンパイルするときにLDAP_DEBUGの定義が必要です。 |
-e |
SSLバインドのためファイル名の確認を行います。 |
-f file |
ファイルから行を読み取り、1行ごとにLDAP検索を実行します。この場合、コマンドラインに指定されたフィルタは、%が最初に出現した個所がファイルに指定された行で置換されるというパターンとして機能します。 |
-D binddn |
X.500ディレクトリにバインドします。binddnには、RFC 1779の定義に従った文字列表現のDNを指定します。 |
-W |
簡易認証のプロンプトです。コマンドラインにパスワードを指定するのではなく、次の指定を適用します。 |
-w passwd |
簡易認証のパスワードとしてpasswdを使用します。 |
-h ldaphost |
LDAPサーバの実行場所となっている代替ホストを指定します。 |
-p ldapport |
LDAPサーバが監視している代替TCPポートを指定します。 |
例
LDAPディレクトリサーバからエントリを削除するため、次のように入力します。
ldapdelete -D cn=admin,o=xyzcompany -w treasure -f T01.del
LDAPディレクトリサーバ内でエントリを検索する
LDAPディレクトリサーバ内のエントリを検索するときには、ldapsearchを使用できます。ldapsearchツールはLDAPサーバとの接続を開始し、バインドを行い、指定されたフィルタを使用して検索を実行します。フィルタは、RFC 1558で定義されたLDAPフィルタの文字列表現に準拠することになっています。ldapsearchが1つ以上のエントリを検出すると、attrs で指定された属性が取り込まれ、エントリと値が標準出力に書き込まれます。このパラメータに値が指定されないと、すべての属性が戻ります。
ldapsearch操作を実行するときは次の構文を使用します。
ldapsearch [-n] [-u] [-v] [-t] [-A] [-B] [-L] [-R] [-d debuglevel] [-e key filename] [-F sep] [-f file] [-D binddn] [[-W]| [-w bindpasswd]] [-h ldaphost] [-p ldapport] [-b searchbase] [-s scope] [-a deref] [-l time limit] [-z size limit] filter [attrs....]
表 109. ldapsearchのパラメータ
-n |
実行された場合の結果を表示しますが、検索は実行されません。-vと組み合わせて使用すると、デバッグ時に便利です。 |
-u |
識別名(DN)をユーザにわかりやすい形式で出力します。 |
-v |
冗長モードが設定され、多くの診断メッセージが標準出力に書き込まれます。 |
-t |
検索された値が、一時ファイルのセットに書き込まれます。これは、jpegの写真やオーディオなどASCII以外の値を扱うときに便利です。 |
-A |
属性だけ(値ではなく)を取り込みます。エントリに属性が存在するかどうかを確認するだけで、具体的な属性値を知る必要がない場合に便利です。 |
-B |
ASCII以外の値も表示します。ISO-8859.1など代替文字セットに属する値を取り扱うときに便利です。-Lを指定すると、このオプションは自動的に選択されます。 |
-L |
検索結果をLDIF形式で表示します。このオプションを指定すると、-Bオプションがオンとなり、-Fオプションは無視されます。 |
-R |
検索時に戻された照会先を自動的には検索しません。デフォルトで照会先を自動的に検索するためには、LDAP_REFERRALSを指定してldapsearchをコンパイルする必要があります。この結果、このオプションの効果はなくなります。 |
-e |
SSLバインドのためファイル名の確認を行います。 |
-F sep |
属性名と値の間のフィールドセパレータとしてsepを使用します。-Lフラグが指定されず、その結果このオプションが無視された場合のデフォルトのセパレータは=です。 |
-S attribute |
戻ったエントリを属性に基づいてソートします。デフォルトでは、戻ったエントリのソートはありません。属性が長さ0の文字列("")の場合には、エントリはその識別名のコンポーネントによりソートされます。通常は、ldapsearchはエントリを受け取ったとおりに出力します。-Sオプションを指定すると、すべてのエントリが取り込まれ、ソートされてから、出力されます。 |
-d debuglevel |
LDAPデバッグレベルをdebuglevelに設定します。このオプションを有効にするためには、ldapsearchをコンパイルするときにLDAP_DEBUGの定義が必要です。 |
-f file |
ファイルから行を読み取り、1行ごとにLDAP検索を実行します。この場合、コマンドラインに指定されたフィルタは、%が最初に出現した個所がファイルに指定された行で置換されるというパターンとして機能します。1つの-文字がファイルとして指定された場合には、標準入力から行が読み取られます。 |
-D binddn |
X.500ディレクトリにバインドします。binddnには、RFC 1779の定義に従った文字列表現のDNを指定します。 |
-W prompt_for_simple_ authentication |
コマンドラインにパスワードを指定するのではなく、次の指定を適用します。 |
-w bindpasswd |
簡易認証のパスワードとしてbindpasswdを使用します。 |
-h ldaphost |
LDAPサーバの実行場所となっている代替ホストを指定します。 |
-p ldapport |
LDAPサーバが監視している代替TCPポートを指定します。 |
-b searchbase |
検索の開始点をデフォルトから変更します。 |
-s scope |
検索のスコープを指定します。スコープとして、ベースオブジェクトを示す「base」、1レベルを示す「one」、またはサブツリー検索を示す「sub」を指定します。デフォルトは「sub」です。 |
-a deref |
別名の逆参照方法を指定します。このパラメータの値は、別名の逆参照は無条件に行わないことを示す「never」、無条件に行うことを示す「always」、検索時に逆参照を行うことを示す「search」、または検索用のベースオブジェクトを検出するときにのみ逆参照を行うことを示す「find」です。別名の逆参照のデフォルトは「never」です。 |
-l time_limit |
検索が終了するまで最大timelimit秒待機します。 |
-a size_limit |
検索が終了するまで最大sizelimit秒待機します。 |
例
LDAPディレクトリサーバのエントリを検索するため、次のように入力します。
ldapsearch -h xyzcompany.com -b o=xyzcompany -D cn=admin,o=xyzcompany -w treasure cn=admin