我的 slapd.conf 中有以下条目
#######################################################################
# ldbm and/or bdb database definitions
#######################################################################
#backend hdb
database bdb
suffix "dc=example,dc=com"
checkpoint 1024 15
rootdn "cn=Manager,dc=example,dc=com"
rootpw {SSHA}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
directory /var/lib/ldap
index objectClass eq,pres
######################################################################
database monitor
access to *
by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read
by dn.exact="cn=Manager,dc=example,dc=com" read
by * none
Run Code Online (Sandbox Code Playgroud)
当我尝试编写以下命令时
ldapadd -x -W -D "cn=Manager,dc=example,dc=com" -f ldapuser100.ldif
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
adding new entry "uid=ldapuser100,ou=People,dc=example,dc=com"
ldap_add: No such object (32)
Run Code Online (Sandbox Code Playgroud)
以下是调试:
oc_check_allowed type "structuralObjectClass"
bdb_dn2entry("uid=ldapuser100,ou=people,dc=example,dc=com")
=> bdb_dn2id("dc=example,dc=com")
<= bdb_dn2id: get failed: DB_NOTFOUND: No matching key/data pair found (-30988)
bdb_add: parent does not exist
send_ldap_result: conn=1 op=1 p=3
send_ldap_response: msgid=2 tag=105 err=32
ber_flush2: 22 bytes to sd 12
conn=1 op=1 RESULT tag=105 err=32 text=
connection_get(12): got connid=1
connection_read(12): checking for input on id=1
ber_get_next
ber_get_next: tag 0x30 len 5 contents:
op tag 0x42, time 1379789891
ber_get_next
conn=1 op=2 do_unbind
conn=1 op=2 UNBIND
connection_close: conn=1 sd=12
conn=1 fd=12 closed
Run Code Online (Sandbox Code Playgroud)
我的 LDIF 文件的内容:
dn: uid=ldapuser100,ou=People,dc=example,dc=com
uid: ldapuser100
cn: ldapuser100
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword: {crypt}xxxxxxxxxxxxxxxxxxxxxxx
shadowLastChange: 15969
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1400
gidNumber: 1400
homeDirectory: /exports/ldapuser100
Run Code Online (Sandbox Code Playgroud)
我现在该怎么办?
LDIF 文件的内容必须对您的目录敏感。看起来(尽管您还没有发布 ldif 文件中的内容,所以我真的不知道您要做什么)好像您正在尝试在 中添加用户ou=People,dc=example,dc=com
,但是 ou=People 不存在,或者您的目录的基本 DN 不知何故不存在。尝试将 People OU 添加到您的基础,然后再次添加此 LDIF。
此外,一般来说,将您的密码哈希发布到 Internet 上并不是最好的主意。
有时,此问题也是无法打开后端 BDB 数据库的结果,尽管通常会在调试输出中给出一些指示。
不过,您可能需要先导入更多内容。
就像您的基本 DN:
dn: dc=example,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
dc: example
o: ExmapleCo
Run Code Online (Sandbox Code Playgroud)
您也许可以省略 objectClass=organization 和 o=ExampleCo(老实说我忘记了)。
此外,您的 OU:
dn: ou=People,dc=example,dc=com
objectClass: organizationalUnit
ou: People
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
17256 次 |
最近记录: |