Outils pour utilisateurs

Outils du site


ateliers:serveurmail:dovecot

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
ateliers:serveurmail:dovecot [2018/01/21 16:53]
sakasama [Administration]
ateliers:serveurmail:dovecot [2019/10/28 19:42] (Version actuelle)
okhin Fix d'une typo sur un lien
Ligne 112: Ligne 112:
  
 Puis on relance dovecot (systemctl restart dovecot) Puis on relance dovecot (systemctl restart dovecot)
 +
 +=== Authentification d'​utilisateurices virtuelles ===
 +Afin de permettre de créer des comptes mails à des personnes sans leur créer un compte unix, il est nécessaire de gérer des utilisateurices virtuelles. Comme nous avons déjà un qrbre [[ldap]], autant l'​utiliser.
 +
 +== Configuration de l'auth dovecot ==
 +Il faut commencer par modifier les directives de configuration de dovecot et de choisir le mode d'​identification que l'on veut. Par simplicité,​ et pour laisser au serveur ldap la gestion de l'​identification,​ on utilisera la technique de l'​[[https://​wiki.dovecot.org/​AuthDatabase/​LDAP/​AuthBinds|Authentification Bind]] telle que documentée sur le site du projet Dovecot.
 +
 +En pqrticulier;​ il faut modifier le fichier '''/​etc/​dovecot/​dovecot-ldap.conf.ext'''​ afin de lui préciser les valeurs nécessaires au fonctionnement sur anarcha:
 +
 +<file conf /​etc/​dovecot/​dovecot-ldap.conf.ext>​
 +[...]
 +uris = ldapi://​localhost # Nous nous connections localement à notre serveur
 +
 +auth_bind = yes # Pour utiliser la méthode d'auth bind
 +
 +base = dc=anarcha,​dc=pink # Notre arbre ldap est structuré sous cette base.
 +
 +user_attrs = =home={%ldap:​homeDirectroy},​=uid={%ldap:​uidNumber},​=gid={%ldap:​gidNumber}
 +# Nous mappons les attributs ldap (si ils existent) avec leurs équivalents dovecot.
 +# La syntaxe est dérivée de la [[https://​doc.dovecot.org/​configuration_manual/​authentication/​user_database_extra_fields/​|documentation en ligne]].
 +# Cela nous permet de gérer des utilisateurs réeels (les admins, qui reçoivent aussi des mails)
 +# et virtuels, sans forcer l'​utilisation d'un shell ou d'un home global.
 +
 +user_filter = (&​(objectClass=inetOrgPerson)(uid=%u))
 +# Ceci est le filtre dlap utilisé pour trouver les utilisateurs dispoant d'une boite mail.
 +# On s'​assure que ce sont des inetorPerson,​ et que l'uid (et pas l'​uidNUmber) correspond au
 +# nom d'​utilisateur court (sqns le @anarcha.pink à la fin). 
 +# C'est la même syntaxe aue pour les filtres de ldapsearch.
 +
 +pass_attrs = uid=user
 +# Les arguments dont on a besoin pour vérifier le mot de passe de l'​utilisateurice et comment
 +# ces champs sont mappés avec les valeurs de l'​arbre ldap
 +
 +pass_filter = (&​(objectClass=inetOrgPerson)(uid=%u))
 +# Même commentaires que pour user_filter
 +
 +iterate_attrs = uid=user
 +iterate_filters = (objectClass=inetOrgPerson)
 +# Ces attributs et filtres sont utilisés pour lister tous les utilisateurs du système.
 +
 +default_pass_scheme = CRYPT
 +# Les mots de passe que récupèrer dovecot sont, souvent, au format {SCHEME}bla.
 +# Si ce n'est pas le cas, alors on demande au système d'​utiliser CRYPT, le même schéma
 +# que pour /etc/shadow par exemple. Et la valeur pqr défaut de l'​arbre LDAP.
 +</​file>​
 +
 +Une fois ce fichier édité, il faut l'​activer dans '''/​etc/​dovecot/​conf.d/​10-auth.conf''',​ et penser à désactiver la configuration par défaut afin de n'​utliser QUE la config ldap, en commentant et décommentant les bonnes lignes à la fin du fichier
 +
 +<file config /​etc/​dovecot/​conf.d/​10-auth.conf>​
 +[...]
 +#!include auth-deny.conf.ext
 +#!include auth-master.conf.ext
 +
 +!include auth-ldap.conf.ext
 +#!include auth-system.conf.ext
 +#!include auth-sql.conf.ext
 +#!include auth-passwdfile.conf.ext
 +#!include auth-checkpassword.conf.ext
 +#!include auth-vpopmail.conf.ext
 +#!include auth-static.conf.ext
 +</​file>​
 +
 +== Ajout de valeurs par défaut ==
 +
 +Comme nous utilison dovecot pour gérer des comptes virtuiels, il est nécessaire de fournir certaines valeurs par défaut, qui ne peuvent pqs être stockées dans l'​arbre LDAP, par exemple le numéro d'UID, ou le répertoire HOME.
 +
 +Pour se faire;, il faut modifier les bases d'auth gérées par LDAP (userdb et passdb en l'​occurence) gérées dans le fichier '''/​etc/​dovecot/​conf.d/​auth-ldap.conf'''​
 +
 +<file config /​etc/​dovecot/​conf.d/​auth-ldap.conf>​
 +passdb {
 +  driver = ldap
 +
 +  # Path for LDAP configuration file, see example-config/​dovecot-ldap.conf.ext
 +  args = /​etc/​dovecot/​dovecot-ldap.conf.ext
 +}
 +[...]
 +</​file>​
 +
 +Rien de bien sorcier jusque là, on dit à dovecot que notre base pour vérifier les mots de passe est gérée par ldap, et aue la configuration de celui-ci est dans le fichier modifié plus haut.
 +
 +<file config /​etc/​dovecot/​conf.d/​auth-ldap.conf>​
 +[...]
 +userdb {
 +  driver = ldap
 +
 +  # Path for LDAP configuration file, see example-config/​dovecot-ldap.conf.ext
 +  args = /​etc/​dovecot/​dovecot-ldap.conf.ext
 +  default_fields = home=/​var/​mail/​%u uid=mail gid=mail
 +}
 +</​file>​
 +
 +De même pour la base récupérant les informations,​ on utilise ldap. A noter le champ '''​default_fields'''​ qui permet de fournir des valeurs cohérentes si l'​arbre LDAP ne contiens pas toutes les informations. Dans ce cas; on crée un répertoire par utilisateur dans /var/mail, et ce répertoire est géré avec les droits de l'​utilisateur '''​mail'''​ appartenant au groupe '''​mail''',​ et aui est l'​utilisateur utilisé par dovecot.
 +
 +Il suffit ensuite de redémarrer dovecot.
ateliers/serveurmail/dovecot.1516550014.txt.gz · Dernière modification: 2018/01/21 16:53 par sakasama