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