OpenLDAP(CentOS 7)でユーザーを作成しようとすると、誤った構文エラーが発生し続けます。
これはテスト目的でOpenLDAPを新しくインストールしたものです。
これまで「Lab Staff」というグループを正常に作成し、このグループにユーザーを追加しようとしています。
LDIFファイルは次のとおりです。
dn: uid=lsuarez,ou=Lab Staff,dc=sftest,dc=net
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
cn: Luis Suarez
sn: Suarez
givenname: Luis
uid: lsuarez
ou: Lab Staff
それから私は以下を追加しました:
ldapadd -x -D "cn=Admin,dc=sftest,dc=net" -W -f /tmp/data.ldif
Enter LDAP Password:
adding new entry "uid=lsuarez,ou=Lab Staff,dc=sftest,dc=net"
エラーメッセージが表示されます。
ldap_add: Invalid syntax (21)
additional info: objectclass: value #3 invalid per syntax
私が見るにはそうではないようですが、inetOrgPerson
私が何を間違っているのかわかりません。
答え1
inetOrgPerson
スキーマをにインポートする必要がありますslapd
。
CentOS 7のOpenLDAPインストールについてはわかりませんが、ファイルと/etc/ldap/schema/inetorgperson.ldif
動的slapd設定(/etc/ldap/slapd.d/
)がある場合は、次のコマンドを受け入れることができます(rootとして実行)。
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif
答え2
問題を解決するには、次のコマンドを実行します。
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif