Ubuntu 11.10でユーザー管理をLDAPにして利用しているのだけど、/var/log/syslogを見てみたら以下のようなLDAP関連のエラーが出ていた。
Apr 6 05:23:56 server slapd[1298]: <= bdb_equality_candidates: (uid) not indexed Apr 6 05:23:57 server slapd[1298]: <= bdb_equality_candidates: (uidNumber) not indexed Apr 6 05:23:57 server slapd[1298]: <= bdb_equality_candidates: (uidNumber) not indexed
どうやら、インデックスが必要みたい。/etc/ldap/slapd.d以下からolcDbIndexを探して、uidとuidNumberとか追加しておけば良いみたい。
$ sudo find /etc/ldap/slapd.d/ -type f| sudo xargs grep olcDbIndex
見つけたら、まず、
$ sudo /etc/init.d/slapd stop
で停止して、対象ファイルを
olcDbIndex: uid,uidNumber,objectClass eq
という感じで編集する。そんで、openldapユーザーで以下を実行する。
$ sudo su openldap -c /usr/sbin/slapindex
そして、slapdを起動する。
$ sudo /etc/init.d/slapd stop