OpenLDAPでユーザ管理 (8)

slapd のログにエラー?が出ている。

slapd[29164]: conn=1013 op=1 SRCH base="dc=example,dc=co,dc=jp" scope=2 deref=0 filter="(&(objectClass=posixAccount)(uidNumber=6400))" 
slapd[29164]: conn=1013 op=1 SRCH attr=uid userPassword uidNumber gidNumber cn homeDirectory loginShell gecos description objectClass shadowLastChange shadowMax shadowExpire
slapd[29164]: <= bdb_equality_candidates: (uidNumber) not indexed 

検索した属性にインデックスがないとで出るらしい。なくても検索はできるが遅くなる。インデックスを作りすぎるとHDD容量を圧迫する、ってとこかな?

よく出てくるものに対しては設定するのがよさそう。

/usr/pkg/etc/openldap/slapd.conf の index の設定を変更

 # Indices to maintain
-index   objectClass     eq
+index   objectClass,uid,uidNumber,gidNumber     eq

変更したら、slapindex でインデックスを作り直す必要があるらしい。

$ sudo /etc/rc.d/slapd stop
$ sudo slapindex
$ sudo /etc/rc.d/slapd start