Eu tenho lutado com a mesma coisa, a documentação do openldap é minimalista e nem um pouco útil. Quando eles foram para um banco de dados de configuração (não é uma má idéia em princípio) todas as opções foram alteradas, então quando as pessoas estão dando um exemplo de /etc/ldap/slapd.conf é inútil com uma configuração moderna do slapd (como o Ubuntu). / p>
Eu finalmente consegui isso funcionar. Aqui está o resumo ... primeiro arquivo LDIF:
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulePath: /usr/lib/ldap
olcModuleLoad: memberof
Segundo arquivo LDIF:
dn: olcOverlay=memberof,olcDatabase={1}hdb,cn=config
objectClass: olcMemberOf
objectClass: olcOverlayConfig
objectClass: olcConfig
objectClass: top
olcOverlay: memberof
olcMemberOfDangling: ignore
olcMemberOfRefInt: TRUE
olcMemberOfGroupOC: groupOfNames
olcMemberOfMemberAD: member
olcMemberOfMemberOfAD: memberOf
Adicione-os ao banco de dados de configuração usando o ldapadd (o mesmo que o material de configuração normal).
Ele não atualiza automaticamente os dados existentes no banco de dados, então eu precisava usar o slapcat para copiar tudo em um arquivo temporário e visitar cada grupo, excluir o grupo e adicionar o mesmo grupo de volta novamente (força os atributos memberOf a serem atualizados corretamente). Se você estiver iniciando com um banco de dados vazio, ele atualizará corretamente os atributos à medida que os objetos forem adicionados.
Além disso, observe que "olcDatabase = {1} hdb" é muito comum, mas não é garantido que corresponda à sua configuração. Certifique-se de verificar isso.