centos 7 上的 openldap 复制未复制

centos 7 上的 openldap 复制未复制

我在 centos 7 上设置了一个简单的 openldap 服务器,最低版本为 centos 7。添加了几个用户,并设置了一个可以使用 getentpasswd 检索用户的客户端,ldapsearch 在两者之间运行良好。然后我尝试设置一个简单的复制器(消费者)。此阶段没有 TLS,尽量保持尽可能简单。对于提供商上的 syncprov,我在文件 /etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb/olcOverlay={0}syncprov.ldif 中:

# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify.
# CRC32 80120f94
dn: olcOverlay={0}syncprov
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: {0}syncprov
olcSpSessionlog: 100
structuralObjectClass: olcSyncProvConfig
entryUUID: ba668464-d734-1035-9bf8-97aa47bee689
creatorsName: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
createTimestamp: 20160705194510Z
entryCSN: 20160705194510.621665Z#000000#000#000000
modifiersName: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
modifyTimestamp: 20160705194510Z

然后我设置了一个名为 simple-replicator.example.com 的新服务器,使用与我的提供商相同的 base.ldif,但没有创建任何用户。我读到我应该先设置为客户端,然后安装 ldap 服务器,所以我也这样做了。在文件 /etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif 中我有:

# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify.
# CRC32 3f0c6b1c
dn: olcDatabase={2}hdb
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {2}hdb
olcDbDirectory: /var/lib/ldap
olcDbIndex: objectClass eq,pres
olcDbIndex: ou,cn,mail,surname,givenname eq,pres,sub
structuralObjectClass: olcHdbConfig
entryUUID: 0f0af22a-d73a-1035-87b2-ddfb498f969e
creatorsName: cn=config
createTimestamp: 20160705202320Z
olcSuffix: dc=example,dc=com
olcRootDN: cn=Manager,dc=example,dc=com
olcRootPW:: e1NTSEF9YVdkdGFid0dteVhqRVNTY0hGUVVTL3JYOW1xYTMyeE0=
olcSyncrepl: {0}rid=001 provider=ldap://simple-provider.example.com:389/ bindmethod=simple bin
 ddn="cn=Manager,dc=example,dc=com" credentials={SSHA}UJzXEfBudfu5U6IGzFlea0
 TjKUvxBtc/ searchbase="dc=example,dc=com" scope=sub schemachecking=on type=
 refreshAndPersist retry="1 3 10 3" interval=00:00:01:00
entryCSN: 20160705205808.847049Z#000000#000#000000
modifiersName: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
modifyTimestamp: 20160705205808Z

我的提供商称为 simple-provider.example.com,我的复制服务器称为 simple-replicator.example.com。

但是我的命令 ldapsearch -x -b 'ou=People,dc=example,dc=com' 没有返回任何内容。提供程序尚未将数据推送到复制器。我做错了什么?它应该在 1 分钟后根据 interval=00:00:01:00 执行此操作。提前谢谢您。

答案1

您的凭证很可能是错误的,除非{SSHA}UJzXEfBudfu5U6IGzFlea0 TjKUvxBtc/确实是的明文密码cn=Manager,dc=example,dc=com

笔记:

  • 您确实应该使用 TLS。
  • 不要使用 olcRootDn 进行复制。请改为创建全局只读 dn。
  • 提供商永远不会推送。Syncrepl 是基于拉取的。(refreshAndPersist就像IMAP idle。)
  • 您可能至少需要和的eq索引uiduidNumbergidNumber

相关内容