web-dev-qa-db-ja.com

既存のLDAPユーザーオブジェクトに新しい属性を追加する方法

既存のLDAPユーザーにメール属性を追加したい。 ldapmodifyを使用すると可能ですが、方法はわかりません。私はphpldapadmin Web GUIを手動で使用してそれを実行しましたが、100人を超えるユーザーが好きで、すべてに対して手動で実行したくありません。

誰でも私を正しい方向に導いてください。

5
Ramesh Kumar
$ 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]
8
Robert Keizer

まず、作成方法の簡単なチュートリアルとして Red Hat Directory Server管理ガイドセクション3. を示します [〜#〜 ] ldif [〜#〜] ldapmodifyでの使用に適したファイル。まず、数百人のユーザーのエントリを作成します。このファイルは、バグを取り除くのに役立ちます。ファイル形式に慣れたら、残りの100人程度のエントリを作成できます。以下は、個々のエントリがどのように見えるかの例です。

dn: cn=Joe Smith,dc=example,dc=com
changetype: modify
add: mail
mail: [email protected]

changetype:の有効な値は、addmodifydelete、および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スイッチは使用しません。そのスイッチがない場合、ldapmodifySTDIN から変更を取得します。したがって、このLDIFファイルから2つまたは3つのエントリをコピーし、ldapmodifyが処理できるようにそれらをシェルに貼り付けることができます。一度に2〜4エントリを実行し、必要に応じてLDIFエントリをその場で修正します。これは、完全なLDIFファイルを直接ldapmodifyに渡すよりも遅くなりますが、そのファイルでタイプミスをした場所を見つけるよりは速くなります。

3
dafydd

LDAPエントリを直接編集するには、「ldapvi」を使用することをお勧めします。これにより、ユーザーフレンドリーな方法で変更を加えることができるエディターが提供されます。

http://www.lichteblau.com/ldapvi/ を参照してください

2
Theuni

はい、ldapmodifyを使用できます。 changeステートメントを含むLDIFファイルを生成し、ldapmodifyを使用してこれらをLDAPサーバーに送信する必要があります。詳細については、例も含まれているman ldapmodifyをご覧ください。

0
Sven