几乎没有关于如何在OpenLDAP LDIF后端configuration链式覆盖的信息。 什么是最低configuration要求?
解决这个问题的唯一方法是将一个老式的configuration文件转换成LDIF风格。 这个节目是相当复杂的结构,没有很好的文档。
该结构在前端创buildLDAP数据库条目以拦截引用者响应。
更复杂的是,模式validation与OpenLDAP自己的configuration要求相冲突(olcDbURI不能在第一个条目中使用)。 要解决这个问题,必须进行离线/直接修改,但请记住,强烈build议不要使用文本编辑器编辑LDIF – 请参阅使用OpenLDAP 2.4 LDIF config后端
如果你在Ubuntu / Debian上,确保你加载了back_ldap模块 – 找不到OpenLDAP链
创build“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
创build“defaultldap.ldif”:
dn: olcDatabase=ldap,olcOverlay={0}chain,olcDatabase={-1}frontend,cn=config objectClass: olcLDAPConfig objectClass: olcChainDatabase olcDatabase: ldap
导入defaultldap.ldif离线(这是为了解决模式validation):
# service slapd stop # slapadd -b cn=config -l defaultldap.ldif
修复一个奇怪的条目和perms:
# 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
创build链截取configuration–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