配置 OpenLDAP 时出现“ldap_add: Naming illegal (64)”错误

配置 OpenLDAP 时出现“ldap_add: Naming illegal (64)”错误

我正在关注Ubuntu 服务器指南在 Ubuntu 10.04 服务器上配置 OpenLDAP,但无法使其工作。

当我尝试使用时sudo ldapadd -x -D cn=admin,dc=don,dc=com -W -f frontend.ldif出现以下错误:

Enter LDAP Password: <entered 'secret' as password>
adding new entry "dc=don,dc=com"
ldap_add: Naming violation (64)
      additional info: value of single-valued naming attribute 'dc' conflicts with value present in entry

当我再次尝试执行相同操作时,出现以下错误:

root@avy-desktop:/home/avy# sudo ldapadd -x -D cn=admin,dc=don,dc=com -W -f frontend.ldif
Enter LDAP Password:
ldap_bind: Invalid credentials (49)

文件如下backend.ldif

# Load dynamic backend modules
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulepath: /usr/lib/ldap
olcModuleload: back_hdb

# Database settings
dn: olcDatabase=hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {1}hdb
olcSuffix: dc=don,dc=com
olcDbDirectory: /var/lib/ldap
olcRootDN: cn=admin,dc=don,dc=com
olcRootPW: secret
olcDbConfig: set_cachesize 0 2097152 0
olcDbConfig: set_lk_max_objects 1500
olcDbConfig: set_lk_max_locks 1500
olcDbConfig: set_lk_max_lockers 1500
olcDbIndex: objectClass eq
olcLastMod: TRUE
olcDbCheckpoint: 512 30
olcAccess: to attrs=userPassword by dn="cn=admin,dc=don,dc=com" write by anonymous auth by self write by * none
olcAccess: to attrs=shadowLastChange by self write by * read
olcAccess: to dn.base="" by * read
olcAccess: to * by dn="cn=admin,dc=don,dc=com" write by * read

frontend.ldif文件:

# Create top-level object in domain
dn: dc=don,dc=com
objectClass: top
objectClass: dcObject
objectclass: organization
o: Example Organization
dc: Example
description: LDAP Example 

# Admin user.
dn: cn=admin,dc=don,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
userPassword: secret

dn: ou=people,dc=don,dc=com
objectClass: organizationalUnit
ou: people

dn: ou=groups,dc=don,dc=com
objectClass: organizationalUnit
ou: groups

dn: uid=john,ou=people,dc=don,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: john
sn: Doe
givenName: John
cn: John Doe
displayName: John Doe
uidNumber: 1000
gidNumber: 10000
userPassword: password
gecos: John Doe
loginShell: /bin/bash
homeDirectory: /home/john
shadowExpire: -1
shadowFlag: 0
shadowWarning: 7
shadowMin: 8
shadowMax: 999999
shadowLastChange: 10877
mail: [email protected]
postalCode: 31000
l: Toulouse
o: Example
mobile: +33 (0)6 xx xx xx xx
homePhone: +33 (0)5 xx xx xx xx
title: System Administrator
postalAddress:
initials: JD

dn: cn=example,ou=groups,dc=don,dc=com
objectClass: posixGroup
cn: example
gidNumber: 10000

谁能帮我?

答案1

关联帮助安装 LDAP 没有任何错误,只需编辑起始行 2、3 和 4。刚刚用 webmin 检查了 ldap 的安装和配置

答案2

对我来说,您的 frontend.ldif 似乎无效,如dn所述dn: dc=don,dc=com(因此 rdn 是dc=don),但您dc: Example稍后仍使用。我认为您尝试使用教程,但您忘记修改 ldif 文件的某些部分,如果 dn 正确,则应使用dc: don(与 dn 相同)。您还提到了 backend.ldif(似乎是通过 slapd 的配置后端修改一些设置)和 frontend.ldif,但您仅显示了您尝试从 frontend.ldif 而不是 backend.ldif 添加条目的示例。

相关内容