我正在尝试按照Ubuntu 的网站。我按照所有说明设置了提供程序,没有任何麻烦。但是当我尝试设置消费者时,遇到了错误。我尝试导入此 ldif 文件:
dn: cn=module{0},cn=config
changetype: modify
add: olcModuleLoad
olcModuleLoad: syncprov
dn: olcDatabase={1}hdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: entryUUID eq
-
add: olcSyncRepl
olcSyncRepl: rid=001 provider="ldap://myserver.mycompany.com" bindmethod=simple binddn="cn=admin,dc=mycompany,dc=com"
credentials=mypassword searchbase="dc=mycompany,dc=com" logbase="cn=accesslog"
logfilter="(&(objectClass=auditWriteObject)(reqResult=0))" schemachecking=on
type=refreshAndPersist retry="60 +" syncdata=accesslog
-
add: olcUpdateRef
olcUpdateRef: ldap://myserver.mycompany.com
当我运行时ldapadd -Q -Y EXTERNAL -H ldapi:/// -c -f consumer.ldif
出现此错误:
modifying entry "olcDatabase={1}hdb,cn=config"
ldap_modify: Other (e.g., implementation specific) error (80)
additional info: Base DN "accesslog" is not within the database naming context
谁能告诉我我做错了什么?
值得一提的是,cn=accesslog 数据库确实存在于提供商机器上,并且在每次进行更改时都会被填充。
先感谢您!
答案1
我之前以为我不需要在我的消费者服务器上手动创建 dc=mycompany,dc=com 数据库,因为我认为它会作为 ldap 复制的一部分创建。结果发现我需要先在消费者服务器上手动创建 dc=mycompany,dc=com,然后 LDIF 文件导入和复制才能按预期开始。