OpenLDAP 2.4链覆盖最小LDIFconfiguration

几乎没有关于如何在OpenLDAP LDIF后端configuration链式覆盖的信息。 什么是最低configuration要求?

解决这个问题的唯一方法是将一个老式的configuration文件转换成LDIF风格。 这个节目是相当复杂的结构,没有很好的文档。

该结构在前端创buildLDAP数据库条目以拦截引用者响应。

更复杂的是,模式validation与OpenLDAP自己的configuration要求相冲突(olcDbURI不能在第一个条目中使用)。 要解决这个问题,必须进行离线/直接修改,但请记住,强烈build议不要使用文本编辑器编辑LDIF – 请参阅使用OpenLDAP 2.4 LDIF config后端

如果你在Ubuntu / Debian上,确保你加载了back_ldap模块 – 找不到OpenLDAP链

  1. 创build“chainoverlay.ldif”:

     dn: olcOverlay=chain,olcDatabase={-1}frontend,cn=config objectClass: olcOverlayConfig objectClass: olcChainConfig olcOverlay: chain olcChainCacheURI: FALSE olcChainMaxReferralDepth: 1 olcChainReturnError: TRUE 
  2. 以root身份间接导入:

     # ldapadd -Y EXTERNAL -H ldapi:/// -f chainoverlay.ldif 
  3. 创build“defaultldap.ldif”:

     dn: olcDatabase=ldap,olcOverlay={0}chain,olcDatabase={-1}frontend,cn=config objectClass: olcLDAPConfig objectClass: olcChainDatabase olcDatabase: ldap 
  4. 导入defaultldap.ldif离线(这是为了解决模式validation):

     # service slapd stop # slapadd -b cn=config -l defaultldap.ldif 
  5. 修复一个奇怪的条目和perms:

     # rm "/etc/ldap/slapd.d/cn=config/olcDatabase={-1}over.ldif" # chown -R openldap:openldap "/etc/ldap/slapd.d/cn=config" 
  6. 开始slapd:

     # service slapd start 
  7. 创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