我有几个 LDAP 服务器,它们具有冗余且启用了复制。
我遇到 Apache Directory Studio 无法获取这些 LDAP 服务器之一的基本 DN 的问题,显示空的根 DSE。
然而,对于另一台服务器,它显示整个 DIT 没有问题。
我发现问题是当我执行 ldapsearch 时,有问题的服务器上缺少我的树的根节点:
SERVER-1# ldapsearch -D "cn=manager,dc=example,dc=com" -w pass -LL -b "dc=example,dc=com" -s base
version: 1
dn: dc=example,dc=com
dc: example
objectClass: top
objectClass: domain
SERVER-2# ldapsearch -D "cn=manager,dc=example,dc=com" -w pass -LL -b "dc=example,dc=com" -s base
version: 1
如果我尝试添加缺少的条目,则会收到错误,因为它确实存在:
# ldapadd -vc -D "cn=manager,dc=example,dc=com" -w pass < domain.ldif
ldap_initialize( <DEFAULT> )
add dc:
example
add objectClass:
top
domain
adding new entry "dc=example,dc=com"
ldap_add: Already exists (68)
如果确实存在,为什么它没有显示出来ldapsearch
?我没有配置任何 ACL。
答案1
部署多主复制后,通过在工作服务器上添加简单的描述来修改有问题的域条目似乎可以解决问题。该条目会自动复制到麻烦的服务器上。
dn: dc=example,dc=com
changetype: modify
add: description
description: example
-
现在它按预期工作了。我不知道是什么导致该物体消失。