Je suis en train de mettre en place un serveur dovecot imap pour egroupware. L'authentification se fait via openldap.
Avant de mettre en place l'authentification LDAP, dovecot fonctionnait très bien. Cependant, je fais face à quelques problèmes.
Voici mon fichier dovecot.conf
protocols = imap imaps
login_process_per_connection = yes
login_processes_count = 3
mail_location = maildir:/home/%u/Maildir
mail_debug = yes
mail_log_prefix = "%Us(%u): "
protocol imap {
}
protocol pop3 {
}
protocol lda {
postmaster_address = postmaster@example.com
}
auth default {
mechanisms = plain
passdb pam {
}
passdb ldap {
args = /etc/dovecot-ldap.conf
}
userdb ldap {
args = /etc/dovecot-ldap.conf
}
user = root
}
Le fichier dovecot-ldap.conf :
# Hote ldap
hosts = 192.168.128.254
# Utilisateur qui peut parcourir la base ldap et chercher dedans
dn = cn=Manager,dc=ch-guingamp,dc=fr
dnpass = password
# dovecot envoie directement le mot de passe a ldap
auth_bind = yes
#auth_bind_userdn = cn=%u,ou=Users,dc=ch-guingamp,dc=fr
# Version de ldap
ldap_version = 3
# Base dans laquelle il faut chercher les utilisateurs
base = ou=Users,dc=ch-guingamp,dc=fr
# Les attributs des utilisateurs
user_attrs = loginPostfix=user=maildir:/var/spool/mail/%$,uidNumber=uid,gidNumber=gid,homeDirectory=mail,
# Si les utilisateurs peuvent etre dans des OU filles de ou=Users alors decommenter cette ligne
#scope = subtree
# Filtre pour la recherche des comptes utilisateurs
user_filter = (&(objectClass=posixAccount)(uid=%u))
# Les attributs des mots de passes
pass_attrs = userPostfix=user,userPassword=password
# filtre pour la recherche des mots de passes
pass_filter = (&(objectClass=posixAccount)(uid=%u))
Pour plus de compréhension, j'ai uploadé un screen d'un compte ldap :
http://ups.imagup.com/04/1255036857_compteldap.jpg
L'authentification se passe bien mais dovecot ne trouve aucun mail. Les mails sont stockés dans /var/spool/mail.
Voici une trace des logs maillog :
Oct 8 12:38:21 revnew dovecot: imap-login: Login: user=, method=PLAIN, rip=::ffff:192.168.128.254, lip=::ffff:192.168.128.254, TLS
Oct 8 12:38:21 revnew dovecot: IMAP(queseb): Effective uid=500, gid=512
Oct 8 12:38:21 revnew dovecot: IMAP(queseb): maildir autodetect: stat(/home/seb/mail/cur) failed: No such file or directory
Oct 8 12:38:21 revnew dovecot: IMAP(queseb): mbox autodetect: data=/home/seb/mail
Oct 8 12:38:21 revnew dovecot: IMAP(queseb): mbox autodetect: INBOX file: is a directory (/home/seb/mail)
Oct 8 12:38:21 revnew dovecot: IMAP(queseb): mbox autodetect: has .imap/: yes (/home/seb/mail/.imap)
Oct 8 12:38:21 revnew dovecot: IMAP(queseb): mbox: data=/home/seb/mail
Oct 8 12:38:21 revnew dovecot: IMAP(queseb): mbox: INBOX defaulted to /home/seb/mail/inbox
Oct 8 12:38:21 revnew dovecot: IMAP(queseb): mbox: root=/home/seb/mail, index=/home/seb/mail, inbox=/home/seb/mail/inbox
Oct 8 12:38:22 revnew dovecot: IMAP(queseb): Disconnected: Logged out
Oct 8 12:38:24 revnew dovecot: imap-login: Login: user=, method=PLAIN, rip=::ffff:192.168.128.254, lip=::ffff:192.168.128.254, TLS
Oct 8 12:38:24 revnew dovecot: IMAP(queseb): Effective uid=500, gid=512
Oct 8 12:38:24 revnew dovecot: IMAP(queseb): maildir autodetect: stat(/home/seb/mail/cur) failed: No such file or directory
Oct 8 12:38:24 revnew dovecot: IMAP(queseb): mbox autodetect: data=/home/seb/mail
Oct 8 12:38:24 revnew dovecot: IMAP(queseb): mbox autodetect: INBOX file: is a directory (/home/seb/mail)
Oct 8 12:38:24 revnew dovecot: IMAP(queseb): mbox autodetect: has .imap/: yes (/home/seb/mail/.imap)
Oct 8 12:38:24 revnew dovecot: IMAP(queseb): mbox: data=/home/seb/mail
Oct 8 12:38:24 revnew dovecot: IMAP(queseb): mbox: INBOX defaulted to /home/seb/mail/inbox
Oct 8 12:38:24 revnew dovecot: IMAP(queseb): mbox: root=/home/seb/mail, index=/home/seb/mail, inbox=/home/seb/mail/inbox
Oct 8 12:38:24 revnew dovecot: IMAP(queseb): Disconnected
J'aimerai faire comprendre à dovecot qu'il peut trouver les mails dans /var/spool/mail mais ma configuration actuelle ne fonctionne pas.
Quelqu'un aurait-il une idée?
# incohérence / information leaking
Posté par nono14 (site web personnel) . Évalué à 1.
mail_location = maildir:/home/%u/Maildir
et
mail_location = maildir:/home/%u/Maildir
ps: j'espère que le hash du mot de passe samba est bidon, qui plus est compte admin (primary sid: 512)
Système - Réseau - Sécurité Open Source - Ouvert à de nouvelles opportunités
[^] # Re: incohérence / information leaking
Posté par nono14 (site web personnel) . Évalué à 1.
Système - Réseau - Sécurité Open Source - Ouvert à de nouvelles opportunités
[^] # Re: incohérence / information leaking
Posté par Aldevar (site web personnel) . Évalué à 1.
J'ai un peu avancé sur mon problème.
J'ai modifié la ligne user_attrs de dovecot-ldap.conf de cette manière :
user_attrs = loginPostfix=mail=mbox:/var/spool/mail/%$,uidNumber=uid,gidNumber=gid
Dorénavant, dovecot va bien chercher dans /var/spool/mail, mais au lieu d'essayer de lire le fichier /var/spool/mail/'user' il tente de lire /var/spool/mail/%$='user' ce qui ne me semble pas très logique.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.