A única maneira de resolver isso é convertendo um arquivo de configuração de estilo antigo em estilo LDIF. Esta mostra é uma estrutura complexa que não está bem documentada.
A estrutura cria entradas do banco de dados LDAP no frontend para interceptar as respostas do referenciador.
Para complicar, uma validação de esquema está em conflito com os próprios requisitos de configuração do OpenLDAP (o olcDbURI não pode ser usado na primeira entrada). Para contornar isso, a modificação offline / direta deve ser feita, mas lembre-se de que a edição direta do LDIF com um editor de texto não é recomendável - Consulte Trabalhando com backend de configuração OpenLDAP 2.4 LDIF
Se você estiver no Ubuntu / Debian, certifique-se de carregar o módulo back_ldap
- Cadeia do OpenLDAP não encontrado
-
Crie "chainoverlay.ldif":
dn: olcOverlay=chain,olcDatabase={-1}frontend,cn=config objectClass: olcOverlayConfig objectClass: olcChainConfig olcOverlay: chain olcChainCacheURI: FALSE olcChainMaxReferralDepth: 1 olcChainReturnError: TRUE
-
Como root, importe indiretamente:
# ldapadd -Y EXTERNAL -H ldapi:/// -f chainoverlay.ldif
-
Crie "defaultldap.ldif":
dn: olcDatabase=ldap,olcOverlay={0}chain,olcDatabase={-1}frontend,cn=config objectClass: olcLDAPConfig objectClass: olcChainDatabase olcDatabase: ldap
-
Importe defaultldap.ldif off-line (para contornar a validação do esquema):
# service slapd stop # slapadd -b cn=config -l defaultldap.ldif
-
Corrigir uma entrada e permissões estranhas:
# rm "/etc/ldap/slapd.d/cn=config/olcDatabase={-1}over.ldif" # chown -R openldap:openldap "/etc/ldap/slapd.d/cn=config"
-
Iniciar slapd:
# service slapd start
-
Crie uma configuração de interceptação de cadeia - 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