ldapmodify, ldapadd - LDAP エントリ更新/追加ツール
ldapmodify [ -a ] [ -c ] [ -S file ] [ -n ] [ -v ] [ -M[M] ] [ -d debuglevel ] [ -D binddn ] [ -W ] [ -w passwd ] [ -y passwdfile ] [ -H ldapuri ] [ -h ldaphost ] [ -p ldapport ] [ -P 2|3 ] [ -O security-properties ] [ -I ] [ -Q ] [ -U authcid ] [ -R realm ] [ -x ] [ -X authzid ] [ -Y mech ] [ -Z[Z] ] [ -f file ]
ldapadd [ -c ] [ -S file ] [ -n ] [ -v ] [ -M[M] ] [ -d debuglevel ] [ -D binddn ] [ -W ] [ -w passwd ] [ -y passwdfile ] [ -h ldaphost ] [ -p ldapport ] [ -P 2|3 ] [ -O security-properties ] [ -I ] [ -Q ] [ -U authcid ] [ -R realm ] [ -x ] [ -X authzid ] [ -Y mech ] [ -Z[Z] ] [ -f file ]
ldapmodify は、 ldap_modify (3) と ldap_add (3) のライブラリ関数に対応するコマンドラインインタフェースである。 ldapadd は、ldapmodify コマンドへのハードリンクとなっている。 ldapadd として起動すると、オプション -a (新しいエントリの追加)を暗黙に指定したものとみなす。
ldapmodify は LDAP サーバに接続してバインドした後に、エントリの更新あるいは追加を行う。 エントリ情報は標準入力あるいは -f オプションで指定した ファイル file から読み込む。
file (コマンドラインに -f オプションを与えていなければ標準入力)の 内容は、以下に述べる例外を除いて ldif (5) (RFC 2849 に定義の IDIF)あるいは slapd.replog (5) (LDIF の拡張)に定義されたフォーマットにしたがう。
"replica:" で始まる行は LDAP サーバのホストとポートに対応していて、 特定の replog レコードを適用するかを決定するために利用する。 他に "dn:" に先行する行があっても無視する。 "replica:" 行のあるなしに関わらず ldapmodify に replog の変更のすべてを適用するよう強制するには、 オプション -F を指定する。
"changetype:" 行が無い場合、-a オプションが設定されていれば (または、このプログラムが ldapadd として起動されていれば)、デフォルトは "add" であり、さもなければ "modify" となる。
changetype が "modify" であって、"add:", "replace:", "delete:" 行の どれも現れなければ、デフォルトは ldapmodify (1) では "replace"、 ldapadd (1) では "add" となる。
slapd.replog (5) フォーマットに対する上記の例外は、 ldapmodify あるいは ldapadd への入力として使う ldif (5) エントリに適用することに注意。
ファイル /tmp/entrymods があり、その内容は次のようになっているものとする。
dn: cn=Modify Me,dc=example,dc=com changetype: modify replace: mail mail: modme@example.com - add: title title: Grand Poobah - add: jpegPhoto jpegPhoto:< file:///tmp/modme.jpeg - delete: description -
このファイルについてのコマンドの実行例を次に示す。
ldapmodify -f /tmp/entrymods
これにより、エントリ "Modify Me" の mail 属性の内容を値 "modme@example.com" で置換し、"Grand Poobah" の title を追加して、ファイル "/tmp/modme.jpeg" の内容を jpegPhoto として追加して、 description 属性を完全に除去する。
ファイル /tmp/newentry があり、その内容は次のようになっているものとする。
dn: cn=Barbara Jensen,dc=example,dc=com objectClass: person cn: Barbara Jensen cn: Babs Jensen sn: Jensen title: the world's most famous mythical manager mail: bjensen@example.com uid: bjensen
このファイルについてのコマンドの実行例を次に示す。
ldapadd -f /tmp/newentry
これは、ファイル /tmp/newentry にある値を用いて Babs Jensen のための新しいエントリを追加する。
ファイル /tmp/entrymods があり、その内容は次のようになっているものとする。
dn: cn=Barbara Jensen,dc=example,dc=com changetype: delete
このファイルについてのコマンドの実行例を次に示す。
ldapmodify -f /tmp/entrymods
これは、Babs Jensen のエントリを除去する。
エラーが起きなければ終了ステータスは 0 となる。 エラーが起きれば 0 でない終了ステータスが返り、 標準エラーに診断メッセージを書き出す。
ldapadd (1), ldapdelete (1), ldapmodrdn (1), ldapsearch (1), ldap.conf (5), ldap (3), ldap_add (3), ldap_delete (3), ldap_modify (3), ldap_modrdn (3), ldif (5), slapd.replog (5)
The OpenLDAP Project <http://www.openldap.org/>
OpenLDAP は OpenLDAP プロジェクト (http://www.openldap.org/) が開発/管理している。 OpenLDAP はミシガン大学の LDAP 3.3 リリースより派生した。
稲地 稔 inachi@ldap-jp.org