Unyablog.

のにれんのブログ

ldap: "additional info: objectClass: value #0 invalid per syntax"

slapd のセットアップで、ドキュメントに基づいて

# cat ~/admin.ldif
dn: dc=example,dc=com
objectClass: organization
objectClass: dcObject
dc: example
o: example

dn: cn=admin,dc=example,dc=com
objectClass: organizationalRole
cn: admin

ldapadd しようとしたら

# ldapadd -Y EXTERNAL -H ldapi:// -f ~/admin.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "dc=example,dc=com"
ldap_add: Invalid syntax (21)
        additional info: objectClass: value #0 invalid per syntax

というエラーが。

どうやらこれは objectClass が定義されていない時に出るエラーらしいが、 organizationdcObject も core.schema にあるし普通に定義されている。

おかしいな〜と思ってググってると同じような症状の人が。

https://www.openldap.org/lists/openldap-software/200110/msg00255.html

なるほど最後のスペース…と思って自分のものを見なおしてみたら含まれていた!!!!

どうやら openldap のドキュメントからそのままコピーしたらスペースが含まれてしまうらしい。気をつけましょう…。

↑の人はこれで2日潰れたらしい。2日は潰しませんでしたが2時間は潰しました…。