尝试在 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