次のurlに記載されている通りですが、openldapで重複キー禁止( unique key )を設定するには、overlay unique を使用します。
http://www.openldap.org/doc/admin24/overlays.html
http://www.openldap.org/software/man.cgi?query=slapo-unique
STEP1 configure --enable-unique
overlay uniqueは、default=offの為、configureで「--enable-unique」を指定
$ ./configure --prefix=/usr/local/openldap --enable-unique
configure以外のinstall作業は次のurlをご覧下さい
colinux環境へのopenldap install - ポイントは BerkeleyDB - end0tknrのkipple - web写経開発
STEP2 # vi /usr/local/openldap/etc/openldap/slapd.conf
例えば、 displayName , mail をuniqueとする場合、slapd.conf の rootdn の下あたりに次の3行を追加して下さい。
overlay unique unique_uri ldap:///ou=People,dc=my-domain,dc=com?displayName?sub unique_uri ldap:///ou=People,dc=my-domain,dc=com?mail?sub
※rootdn設定の前に記載すると、ldapの再起動時に次のようなwarningが表示されます。
# /etc/rc.d/init.d/slapd restart Stopping slapd: [ OK ] Checking configuration files for slapd: [WARNING] 554464e2 slapo-unique needs a rootdn; backend <> has none, YMMV. 554464e2 slapo-unique needs a rootdn; backend <> has none, YMMV. config file testing succeeded Starting slapd: [ OK ]