既存のLDAPユーザーにメール属性を追加したい。 ldapmodifyを使用すると可能ですが、方法はわかりません。私はphpldapadmin Web GUIを手動で使用してそれを実行しましたが、100人を超えるユーザーが好きで、すべてに対して手動で実行したくありません。
誰でも私を正しい方向に導いてください。
$ ldapmodify -H ldap://yourhost -D cn=youradmin,dc=your,dc=domain -x -W
( enter password here )
dn: uid=username,ou=people,dc=your,dc=domain
changetype: modify
add: mail
mail: [email protected]
まず、作成方法の簡単なチュートリアルとして Red Hat Directory Server管理ガイド の セクション3. を示します [〜#〜 ] ldif [〜#〜] ldapmodifyでの使用に適したファイル。まず、数百人のユーザーのエントリを作成します。このファイルは、バグを取り除くのに役立ちます。ファイル形式に慣れたら、残りの100人程度のエントリを作成できます。以下は、個々のエントリがどのように見えるかの例です。
dn: cn=Joe Smith,dc=example,dc=com
changetype: modify
add: mail
mail: [email protected]
changetype:
の有効な値は、add
、modify
、delete
、およびmodrdn
です。 changetype: modify
を使用する場合、正当な変更はadd:
、delete:
、およびreplace:
です。セクション3.3では、これらすべての機能の例を示します。
次に、ファイルを書き込んだら、LDAPサーバーに送信する方法がいくつかあります。 1つの方法は、ファイルを ldapmodify
コマンドに直接フィードすることです。
ldapmodify -x -h $LDAP_Host -D $LDAP_BINDDN -W -f $FILE
-W
スイッチは、コマンドラインでldapmodify
に$LDAP_BINDDN
のパスワードを要求するように指示します。これは、シェルの履歴ファイルにLDAPサーバーのパスワードを残さないことを意味します。パスワードをldapmodify
コマンドに組み込む場合は、代わりに-w $PASSWORD
を使用してください。 -f $FILE
スイッチは、実装されている変更を調べるLDIFファイルをldapmodify
に通知します。
-f $FILE
スイッチを実際に使用するのは好きではありません。ファイルをldapmodify
に渡すには、そのLDIFファイルを正しく書き込んだことを100%信頼する必要があります。間違えた場合、ldapmodify
はエラーを表示せずに終了します。したがって、2つ目の方法を使用します。例として示したldapmodify
コマンドを使用しますが、その-f $FILE
スイッチは使用しません。そのスイッチがない場合、ldapmodify
は STDIN
から変更を取得します。したがって、このLDIFファイルから2つまたは3つのエントリをコピーし、ldapmodify
が処理できるようにそれらをシェルに貼り付けることができます。一度に2〜4エントリを実行し、必要に応じてLDIFエントリをその場で修正します。これは、完全なLDIFファイルを直接ldapmodify
に渡すよりも遅くなりますが、そのファイルでタイプミスをした場所を見つけるよりは速くなります。
LDAPエントリを直接編集するには、「ldapvi」を使用することをお勧めします。これにより、ユーザーフレンドリーな方法で変更を加えることができるエディターが提供されます。
http://www.lichteblau.com/ldapvi/ を参照してください
はい、ldapmodify
を使用できます。 changeステートメントを含むLDIFファイルを生成し、ldapmodify
を使用してこれらをLDAPサーバーに送信する必要があります。詳細については、例も含まれているman ldapmodify
をご覧ください。