OpenLDAP 复制失败,“syncrepl_entry:rid=666 be_modify 失败 (20)”

OpenLDAP 复制失败,“syncrepl_entry:rid=666 be_modify 失败 (20)”

我已经配置了第二台主机来通过 syncrepl 复制主 LDAP 服务器slapd.conf

syncrepl rid=666 
        provider=ldaps://my-main-server.com 
        type=refreshAndPersist 
        searchBase="dc=Staff,dc=my-main-server,dc=com" 
        filter="(objectClass=*)" 
        scope=sub 
        schemachecking=off 
        bindmethod=simple 
        binddn="cn=repadmin,dc=my-main-server,dc=com" 
        credentials=mypassword 

当我重新启动时slapd,它会写入/var/log/debug

Jun 11 15:48:33 cluster-mn-04 slapd[29441]: @(#) $OpenLDAP: slapd 2.4.9 (Mar 31 2009 07:18:37) $ ^Ibuildd@yellow:/build/buildd/openldap2.3-2.4.9/debian/build/servers/slapd 
Jun 11 15:48:34 cluster-mn-04 slapd[29442]: slapd starting 
Jun 11 15:48:34 cluster-mn-04 slapd[29442]: null_callback : error code 0x14 
Jun 11 15:48:34 cluster-mn-04 slapd[29442]: syncrepl_entry: rid=666 be_modify failed (20) 
Jun 11 15:48:34 cluster-mn-04 slapd[29442]: do_syncrepl: rid=666 quitting 

我查看了返回代码的来源,只发现

#define LDAP_TYPE_OR_VALUE_EXISTS       0x14

无论如何include/ldap.h,我不太明白这个错误信息是什么意思。

您能帮我调试这个问题并找出 LDAP 复制不起作用的原因吗?我已设法通过slapcat和将“手动”副本slapadd放入数据库,但我想自动同步。

更新:/var/lib/ldap/*通过删除并重新导入数据库 已“解决” slapadd

答案1

您确定 slapd 有权在目录中写入吗?通常,从头插入后,您必须更改目录的所有者。

相关内容