Forum Linux.général Dovecot et LDAP : Configuration particulière

Posté par  (site web personnel) .
Étiquettes : aucune
0
8
oct.
2009
Bonjour,

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  (site web personnel) . Évalué à 1.

    C'est pas cohérent, tu indiques:

    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

    • [^] # Re: incohérence / information leaking

      Posté par  (site web personnel) . Évalué à 1.

      et maildir:/var/spool/mail/%$, plutot copier coller malheureux

      Système - Réseau - Sécurité Open Source

    • [^] # Re: incohérence / information leaking

      Posté par  (site web personnel) . Évalué à 1.

      Cette base ldap est juste une base de test.

      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.