Prezados,
Estou em uma empresa onde preciso implementar o postfix + LDAP + Dovecot. Detalhe: Estou usando o fetchmail p/ baixar os e-mails do provedor e entregar nas contas locais do postfix local. Está tudo funcionando bem, tanto postfix quanto dovecot, porém c/ usuário local da máquina, ou seja, autenticação via /etc/passwd. A empresa possui um outro servidor, de arquivos, c/ uma estrutura de diretório(LDAP) ja funcionando e autenticando usuários do samba e usuários locais do Linux. No segundo servidor(e-mail local) que é o gateway de internet está instalado o postfix, dovecot, fetchmail + proxy squid, sendo dois servidores. Dai surge a necessidade de fazer essa autenticação de usuários na base LDAP. Como entendo pouco de LDAP, em um primeiro momento tentar fazer o dovecot se autenticar nesse servidor, visto que tinha implementado o proxy squid autenticado via LDAP c/ muita tranquilidade. A configuração do squid ficou assim e funcinou a autenticação tranquilamente:

auth_param basic program /var/squid/libexec/squid_ldap_auth -b "ou=People,dc=parbem,dc=com" -f "uid=%s" -h 192.168.0.1 -p 389 -v3
auth_param basic children 5
auth_param basic realm Proxy Parbem Entre com usuario e senha
auth_param basic casesensitive off
auth_param basic credentialsttl 30 minutes

Na segunda etapa passei p/ o Dovecot achando que também seria tranquilo, vendo que o arquivo de configuração não é muito diferente.

1 - Compilação dovecot
#./configure --prefix=/etc/dovecot --with-ldap=yes
2 - Acrescentei a módulo de autenticação via ldap em /etc/dovecot/etc/dovecot.conf
      passdb ldap {
                  args = /etc/dovecot/etc/dovecot-ldap.conf
      }

      userdb ldap {
                 args = /etc/dovecot/etc/dovecot-ldap.conf
      }
Feito isso comentei as autenticações em shadow. Portanto so existe esse método de autenticação

3 - Conteudo arquivo dovecot-ldap.conf

       hosts = 192.168.0.1
       ldap_version = 3
       base = dc=parbem,dc=com
       deref = never
       scope = subtree
       user_attrs = uid,homeDirectory,,,uidNumber, gidNumber
       user_filter = (&(objectClass=posixAccount)(uid=%u))
       pass_attrs = uid=user, userPassword=password
       pass_filter = (&(objectClass=posixAccount)(uid=%u))

Quando me autentico via POP no dovecot, o mesmo faz a pesquisa na base LDAP e até encontra o usuário, porém parece que não consegue ter da senha do LDAP p/ fazer a verificação c/ a senha do cliente de e-mail. Veja o que aparece no log

####LOG do dovecot no momento da autenticação:
Oct 10 20:45:58 auth(default): Info: new auth connection: pid=29992
Oct 10 20:46:03 auth(default): Info: client in: AUTH 1 PLAIN service=imap lip=187.111.6.202 rip=187.126.188.84 lport=143 rport=51675
Oct 10 20:46:03 auth(default): Info: client out: CONT   1
Oct 10 20:46:03 auth(default): Info: client in: CONT 1 AGd1aWxoZXJtZQBzaW1wbGVzMDE= Oct 10 20:46:03 auth(default): Info: ldap(guilherme,187.126.188.84): pass search: base=dc=parbem,dc=com scope=subtree filter=(&(objectClass=posixAccount)(uid=guilherme)) fields=uid,userPassword Oct 10 20:46:03 auth(default): Info: ldap(guilherme,187.126.188.84): result: uid(user)=guilherme Oct 10 20:46:03 auth(default): Info: ldap(guilherme,187.126.188.84): No password returned (and no nopassword) Oct 10 20:46:05 auth(default): Info: client out: FAIL 1 user=guilherme

####LOG do servidor LDAP:
Oct 10 20:52:29 servidor slapd[3654]: conn=9973 op=5 SRCH base="dc=parbem,dc=com" scope=2 deref=0 filter="(&(objectClass=posixAccount)(uid=guilherme))" Oct 10 20:52:29 servidor slapd[3654]: conn=9973 op=5 SRCH attr=uid userPassword Oct 10 20:52:29 servidor slapd[3654]: conn=9973 op=5 SEARCH RESULT tag=101 err=0 nentries=1 text=

Ele encontra o usuário na base, porém parece que não é retornada a senha do servidor LDAP

Alguém poderia me ajudar?  Alguma sugestão?!

Obrigado a todos da lista.




_______________________________________________
Postfix-BR mailing list
[email protected]
http://listas.softwarelivre.org/mailman/listinfo/postfix-br

Responder a