几乎没有关于如何在 OpenLDAP LDIF 后端配置 Chain Overlay 的信息。所需的最低配置是什么?
答案1
解决这个问题的唯一方法是将旧式配置文件转换为 LDIF 样式。该节目的结构相当复杂,没有很好的文档记录。
该结构在前端创建 LDAP 数据库条目来拦截引荐来源响应。
更复杂的是,模式验证与 OpenLDAP 自己的配置要求相冲突(第一个条目中不能使用 olcDbURI)。要解决这个问题,必须进行离线/直接修改,但请记住,强烈不建议使用文本编辑器直接编辑 LDIF - 请参阅使用 OpenLDAP 2.4 LDIF 配置后端
如果你使用的是 Ubuntu/Debian,请确保加载模块back_ldap
-未找到 OpenLDAP 链
创建“chainoverlay.ldif”:
dn: olcOverlay=chain,olcDatabase={-1}frontend,cn=config objectClass: olcOverlayConfig objectClass: olcChainConfig olcOverlay: chain olcChainCacheURI: FALSE olcChainMaxReferralDepth: 1 olcChainReturnError: TRUE
以 root 身份间接导入:
# ldapadd -Y EXTERNAL -H ldapi:/// -f chainoverlay.ldif
创建“defaultldap.ldif”:
dn: olcDatabase=ldap,olcOverlay={0}chain,olcDatabase={-1}frontend,cn=config objectClass: olcLDAPConfig objectClass: olcChainDatabase olcDatabase: ldap
离线导入 defaultldap.ldif(这是为了解决模式验证):
# service slapd stop # slapadd -b cn=config -l defaultldap.ldif
修复奇怪的条目和权限:
# rm "/etc/ldap/slapd.d/cn=config/olcDatabase={-1}over.ldif" # chown -R openldap:openldap "/etc/ldap/slapd.d/cn=config"
启动 slapd:
# service slapd start
创建链拦截配置-chainedserver.ldif:
dn: olcDatabase=ldap,olcOverlay={0}chain,olcDatabase={-1}frontend,cn=config objectClass: olcLDAPConfig objectClass: olcDatabaseConfig objectClass: olcConfig objectClass: top objectClass: olcChainDatabase olcDatabase: ldap olcDbURI: ldap://areferredserver.com