Centos

OpenLDAP:嘗試添加 LDIF 時出現無效的語法錯誤

  • September 2, 2019

嘗試在 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,但我不知道我做錯了什麼。

您需要將架構導入inetOrgPersoninto 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

要解決此問題,請執行以下命令:

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

引用自:https://unix.stackexchange.com/questions/218594