在消费者和提供者 ldap 中启用同步

在消费者和提供者 ldap 中启用同步

我对 ldap (这里指 openldap) 完全陌生。老板给我布置了创建第二个 ldap 服务器的任务,并将现有 ldap 服务器上的数据复制到我创建的新服务器中。

我通过阅读文档和大量使用 Google 完成了此操作。无论如何,对于新的 ldap 服务器,我从现有 ldap 服务器复制了 slapd.conf 文件,然后运行“slaptest -f slapd.conf -F slapd.d”,这样就创建了 cn=config。

我的老板测试了环境。它运行良好,但现在他要求我从现有的 ldap 服务器到刚刚创建的新服务器进行单向同步。

再次阅读文档并进行大量谷歌搜索后,我想我终于知道需要做什么了。

这个新的 ldap 服务器未被使用,而且我真的不知道如何使用 ldapmodify 或任何 ldap 客户端工具来添加以下参数。我实际上打算删除 slapd.d 目录中的内容,使用新参数更新 slapd.conf 文件,然后重新运行“slaptest -f slapd.conf -F slapd.d”以使用新参数重新创建 cn=config。我知道这不是最好的方法,但它应该有效。

--同步消费者

同步

摆脱=123

类型=RefreshandPersist

提供者=ldaps://ldap-master.example.com:389

绑定方法=简单

searchbase="dc=example,dc=com"

重试=“10 6 60 +”

attrs="cn,sn,displayName,givenName,mail,uid"

binddn="cn=Manager,dc=test,dc=example,dc=com"

凭证={SSHA}密码

现在,这种更新 cn=config 的方法不适用于需要在副本提供程序上进行的更改以启用同步。

据我所知,我只需要添加一行:

覆盖同步

我的问题是如何将此行添加到现有且正常运行的 ldap 服务器上的 cn=config?我显然无法使用 slaptest 重新创建配置。

非常感谢您的帮助和建议

-V

答案1

简短的回答是您需要熟悉使用ldapmodify,它的手册页中有示例可以展示如何进行更改。

如果不知道您的 LDAP 服务器是如何配置的,我无法给您一个简单的“这样做”的答案。但是,您需要执行类似于以下的操作:

# ldapmodify -Y EXTERNAL -H ldapi:///
dn: olcOverlay=syncprov,olcDatabase={1}hdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
^D

这相当于在文件中cn=config有。但我假设您 a) 只配置了一个 LDAP 数据库后端,b) 您使用的是 HDB 后端,c) 允许 LDAPI 连接。这也不会配置用于从新 LDAP 服务器连接的用户,也不会设置任何 ACL 以允许其读取所有内容等。overlay syncprovslapd.conf

我鼓励你阅读 OpenLDAP 文档,特别是http://www.openldap.org/doc/admin24/replication.html其中包括设置复制。

相关内容