1.3. コマンドラインを使用した LDAP エントリーの更新
ディレクトリーエントリーを変更する場合は、changetype: modify
ステートメントを使用します。change 操作に応じて、エントリーから属性を追加、変更、または削除できます。
1.3.1. LDAP エントリーへの属性の追加
LDAP エントリーに属性を追加するには、add
操作を使用します。
たとえば、555-1234567
の値を持つ telephoneNumber
属性を uid=user,ou=People,dc=example,dc=com
エントリーに追加するには、以下を実行します。
# ldapmodify -D "cn=Directory Manager" -W -H ldap://server.example.com -x dn: uid=user,ou=People,dc=example,dc=com changetype: modify add: telephoneNumber telephoneNumber: 555-1234567
属性が多値である場合、属性名を複数回指定して、1 つの操作ですべての値を追加できます。たとえば、2 つの telephoneNumber
属性を一度に uid=user,ou=People,dc=example,dc=com
に追加するには、次のように入力します。
# ldapmodify -D "cn=Directory Manager" -W -H ldap://server.example.com -x dn: uid=user,ou=People,dc=example,dc=com changetype: modify add: telephoneNumber telephoneNumber: 555-1234567 telephoneNumber: 555-7654321
1.3.2. 属性値の更新
属性の値を更新する手順は、属性が単値であるか多値であるかによって異なります。
単値属性の更新
単値属性を更新する場合は、
replace
操作を使用して既存の値を上書きします。次のコマンドは、uid=user,ou=People,dc=example,dc=com
エントリーのmanager
属性を更新します。# ldapmodify -D "cn=Directory Manager" -W -H ldap://server.example.com -x dn: uid=user,ou=People,dc=example,dc=com changetype: modify replace: manager manager: uid=manager_name,ou=People,dc=example,dc=com
多値属性の特定値の更新
多値属性の特定の値を更新するには、最初に置き換えるエントリーを削除してから、新しい値を追加します。次のコマンドは、
uid=user,ou=People,dc=example,dc=com
エントリーで現在555-1234567
に設定されているtelephoneNumber
属性のみを更新します。# ldapmodify -D "cn=Directory Manager" -W -H ldap://server.example.com -x dn: uid=user,ou=People,dc=example,dc=com changetype: modify delete: telephoneNumber telephoneNumber: 555-1234567 - add: telephoneNumber telephoneNumber: 555-9876543
1.3.3. エントリーからの属性の削除
エントリーから属性を削除するには、delete
操作を実行します。
属性の削除
たとえば、
uid=user,ou=People,dc=example,dc=com
エントリーからmanager
属性を削除するには、次のように入力します。# ldapmodify -D "cn=Directory Manager" -W -H ldap://server.example.com -x dn: uid=user,ou=People,dc=example,dc=com changetype: modify delete: manager
重要属性に複数の値が含まれる場合、この操作によりすべての値が削除されます。
多値属性から特定の値の削除
複数値属性から特定の値を削除する場合は、LDAP Data Interchange Format (LDIF) ステートメントに属性とその値をリストします。たとえば、
uid=user,ou=People,dc=example,dc=com
エントリーから555-1234567
に設定されているtelephoneNumber
属性だけを削除するには、以下のコマンドを実行します。# ldapmodify -D "cn=Directory Manager" -W -H ldap://server.example.com -x dn: uid=user,ou=People,dc=example,dc=com changetype: modify delete: telephoneNumber telephoneNumber: 555-1234567