Postfix: o LDAP não está funcionando (aviso: dict_ldap_lookup: Base de busca não encontrada: 32: Nenhum objeto)

1

Eu configurei o acesso LDAP com o postfix.

ldapsearch -D "cn=postfix,ou=users,ou=system,[domain]" -w postfix -b "ou=users,ou=people,[domain]" -s sub "(&(objectclass=inetOrgPerson)(mail=[mailaddr]))"

entrega a entrada correta. O arquivo de configuração do LDAP se parece com

root@server2:/etc/postfix/ldap# cat mailbox_maps.cf 
server_host = localhost
search_base = ou=users,ou=people,[domain]
scope = sub
bind = yes
bind_dn = cn=postfix,ou=users,ou=system,[domain]
bind_pw = postfix
query_filter = (&(objectclass=inetOrgPerson)(mail=%s))
result_attribute = uid
debug_level = 2

O bind_dn e o bind_pw devem ser os mesmos que usei acima com o ldapsearch. No entanto, chamar postmap não funciona:

root@server2:/etc/postfix/ldap# postmap -q [mailaddr] ldap:/etc/postfix/ldap/mailbox_maps.cf
postmap: warning: dict_ldap_lookup: /etc/postfix/ldap/mailbox_maps.cf: Search base 'ou=users,ou=people,[domain]' not found: 32: No such object

Se eu alterar a configuração do LDAP, para que os usuários anônimos tenham acesso completo ao LDAP

olcAccess: {-1}to * by * read

então funciona:

root@server2:/etc/postfix/ldap# postmap -q [mailaddr] ldap:/etc/postfix/ldap/mailbox_maps.cf 
[user-id]

Mas quando eu restringir esse acesso ao usuário postfix:

olcAccess: {-1}to * by dn="cn=postfix,ou=users,ou=system,[domain]" read by * break

ele não funciona, mas produz o erro impresso acima (embora o ldapsearch funcione, somente o postmap não funciona).

Por que não funciona ao vincular com um DN de postfix? Eu acho que configurar a ACL LDAP para o usuário postfix corretamente, como o comando ldapsearch deve provar. Qual pode ser a razão para esse comportamento?

    
por Heinzi 17.12.2012 / 22:42

1 resposta

0

Resolvido - a versão do LDAP estava ausente. mailbox_maps.cf precisa de uma entrada adicional

version = 3

porque o servidor LDAP não permite LDAPv2.

    
por 18.12.2012 / 15:15