我拥有 OpenLDAP 服务器(我们将其命名为 A)的用户访问权限。我想将其复制到我的 OpenLDAP 服务器(B)中,但没有任何管理员访问 A。
我该怎么做? 我可以进行非破坏性(仅添加/更新)OpenLDAP 复制吗?
我实际上是用一个大脚本来做这件事的。
答案1
假设您没有源 LDAP 服务器的 root/admin 访问权限,则可以使用 LDAP 搜索来“复制”数据。但请注意,LDAP 服务器通常带有 ACL,这意味着您可能无法访问所有数据。
此外,LDAP 搜索不会为您提供“隐藏”或系统属性,例如 modifiedDate、entryCSN 等。
使用以下命令查看源 LDAP 服务器:
ldapsearch -x -LLL -h <IP of LDAP server>
如果此命令不起作用,则很可能您没有使用凭据配置 ldap.conf。如果您已完成配置但仍然没有输出,请使用过滤器等,例如:
ldapsearch -x -LLL cn=*
或者
ldapsearch -x -LLL uid=*
如果您不确定要查找什么,我强烈建议使用以下工具之一连接到 LDAP 服务器:
- shelldap
- ldapvi
- 格奇
这些工具允许 LDAP 浏览并为您提供有关源 LDAP 结构的概述。
因此,当运行一些 LDAP 搜索并将输出写入 ldif 时,您可以“复制”数据。
答案2
您可以使用多种方式配置 LDAP 服务器的复制。您可以将 A 作为主服务器,将 B 作为从服务器,或者使用主/主拓扑,这对于故障转移场景非常有用。
这OpenLDAP 文档解释得更详细。