Edited at

LDAPのデータ更新

More than 1 year has passed since last update.

毎回調べるのでメモ


コマンド

NO
コマンド
できること
備考

1
ldapadd
エントリの追加
以下と同じ
ldapmodifyの'changetype: add'
ldapmodifyの-aオプション

2
ldapdelete
エントリの削除
以下と同じ
ldapmodifyの'changetype: delete'

3
ldapmodify
エントリの追加(changetype: add)
エントリの削除(changetype: delete)
エントリの更新(changetype: modify)
 - アトリビュート追加(add)
 - アトリビュート更新(replace)
 - アトリビュート削除(delete)
ldifの'changetype'を省略した場合
-aオプションありは'changetype: add'
-aオプションなしは'changetype: modify'

ldapmodifyだけで一連の処理はできそうではある


実例


(1)ldapadd


 <エントリの追加>

$ cat ./ldif

dn: dc=my-domain,dc=com
objectClass: dcObject
objectClass: organization
dc: my-domain
o: my-domain

$ ldapadd -D cn=Manager,dc=my-domain,dc=com -W -f ./ldif


(2)ldapdelete


 <エントリの削除>

$ cat ./ldif

dc=my-domain,dc=com

$ ldapdelete -D cn=Manager,dc=my-domain,dc=com -W -f ./ldif


(3)ldapmodify


 <エントリの追加>


  • -aオプションを付与して実施

$ cat ./ldif

dn: dc=my-domain,dc=com
objectClass: dcObject
objectClass: organization
dc: my-domain
o: my-domain

$ ldapmodify -D cn=Manager,dc=my-domain,dc=com -W -f ./ldif -a


  • ldifに'changetype: add'を追加して実施

$ cat ./ldif

dn: dc=my-domain,dc=com
changetype: add
objectClass: dcObject
objectClass: organization
dc: my-domain
o: my-domain

$ ldapmodify -D cn=Manager,dc=my-domain,dc=com -W -f ./ldif


 <エントリの削除>


  • ldifに'changetype: delete'を記載して実施

$ cat ./ldif

dn: dc=my-domain,dc=com
changetype: delete

$ ldapmodify -D cn=Manager,dc=my-domain,dc=com -W -f ./ldif


 <エントリの更新>


  • アトリビュート追加(ldifに'changetype: modify', 'add' を記載して実施)

$ cat ./ldif

dn: dc=my-domain,dc=com
changetype: modify
add: description
description: aaaaaaaaaa

$ ldapmodify -D cn=Manager,dc=my-domain,dc=com -W -f ./ldif


  • アトリビュート更新(ldifに'changetype: modify', 'replace'を記載して実施)

$ cat ./ldif

dn: dc=my-domain,dc=com
changetype: modify
replace: description
description: bbbbbbbbbb

$ ldapmodify -D cn=Manager,dc=my-domain,dc=com -W -f ./ldif


  • アトリビュート削除(ldifに'changetype: modify', 'delete' を記載して実施)

$ cat ./ldif

dn: dc=my-domain,dc=com
changetype: modify
delete: description

$ ldapmodify -D cn=Manager,dc=my-domain,dc=com -W -f ./ldif


複数処理する場合

- 同じdnの場合はハイフンで区切る

- 別のdnの場合は空行で区切る