Outils pour utilisateurs

Outils du site


Ceci est une ancienne révision du document !


Installation de Dovecot

Objectif

  1. Nous ne nous intéresserons pas au protocole POP3 mais seulement à IMAP4.
  2. Nous considérons avoir peu de Boîtes aux lettres à gérer, quelques dizaines tout au plus.
  3. À part un tout petit nombre d'utilisateurs ayant à gérer le système, la majorité ne devrait avoir aucun accès au système d'exploitation. Les comptes seront créés dans le même groupe d'utilisateurs et sans possibilité de login.
  4. Dovecot devra pouvoir permettre à Postfix l'authentification des utilisateurs nomades, par le truchement de SASL (Simple Authentication and Security Layer).
  5. Postfix utilisera le LDA (Local Delivery Agent) proposé par Dovecot qui offre plus de souplesse que celui intégré à Postfix.

Sur Debian Trixie, Dovecot est découpé en plusieurs paquets, suivant les besoins. Compte-tenu de l'objectif fixé, dovecot-imapd et dovecot-lmtpd suffiront. dovecot-core sera installé automatiquement.

Première configuration

Pour rester dans la tradition, Le passage des versions 2.3.x à 2.4.x est accompagné d'une incompatibilité dans diverses syntaxes de configuration.

Ce qui suit est effectué avec la version 2.4.1 qui semble être celle qui sera définitive dans Debian Trixie

Après avoir installé ces paquets, afin d'effectuer des essais préliminaires, il faut effectuer quelques aménagements à la configuration de base.

10-ssl.conf

Il faut y mettre le certificat et la clé récupérés chez let's encrypt:

ssl_cert = </etc/letsencrypt/live/home.nain-t.net/fullchain.pem
ssl_key = </etc/letsencrypt/live/home.nain-t.net/privkey.pem

10-auth.conf

Provisoirement, autorisons l'authentification des utilisateurs sans passer par SSL/TLS:

disable_plaintext_auth = no

10-mail.conf

Préciser que l'on veut le format Maildir et le chemin d'accès à ce répertoire:

mail_location = maildir:~/Maildir

Dans un premier temps, les utilisateurs «système» trouveront leur Répertoire Maildir dans leur «home».

10-master.cf

Définir le mode de fonctionnement du LDA de Dovecot utilisant «lmtp» en harmonie avec postfix:

service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = postfix
    mode = 0600
    user = postfix
   }
}

Il faut également ajouter à /etc/postfix/main.cf la ligne suivante:

 mailbox_transport = lmtp:unix:private/dovecot-lmtp
Il serait possible, en utilisant LMTP de placer Postfix et Dovecot sur des hôtes différents en utilisant un socket «INET TCP», ce qui est hors de notre propos.

Essais préliminaires

Il n'est pas inutile d'installer le paquet bsd-mailx, utile pour des tests basiques.

Nous avons sur le serveur deux utilisateurs spéciaux pour les test: «admin» et «user».

Depuis une session «user», nous postons avec la commande «mail» à «root»:

mail root
Subject: test0
blablabla...
.
Cc: 
Si tout se passe comme prévu, ce message devrait se retrouver quelque part dans /home/admin/Maildir. Un petit tour en temps que «admin» dans son répertoire personnel:
ls -l Maildir/


drwx------ 2 admin admin 4096  5 mai   16:35 cur
-rw------- 1 admin admin  632  5 mai   16:35 dovecot.index.cache
-rw------- 1 admin admin  344  5 mai   16:35 dovecot.index.log
-rw------- 1 admin admin  452  5 mai   16:35 dovecot.list.index.log
-rw------- 1 admin admin   94  5 mai   16:35 dovecot-uidlist
-rw------- 1 admin admin    8  5 mai   16:35 dovecot-uidvalidity
-r--r--r-- 1 admin admin    0  5 mai   16:35 dovecot-uidvalidity.6818ccb2
-rw------- 1 admin admin    0  5 mai   16:35 maildirfolder
drwx------ 2 admin admin 4096  5 mai   16:35 new
drwx------ 2 admin admin 4096  5 mai   16:35 tmp
La LDA de Dovecot crée beaucoup de choses dans ce répertoire Maildir et c'est déjà bon signe. Ce sont les répertoires qui nous intéressent le plus et principalement le répertoire new qui contient les nouveaux messages reçus et non encore lus. C'est donc là que devrait se trouver notre test0.

Nous y allâmes, et nous le trouvâmes, mais sous un nom dont Dovecot a le secret:

ls new
'1746455730.M30137P3956.mail,S=494,W=509'

Et c'est bien lui car:

cat new/'1746455730.M30137P3956.mail,S=494,W=509'

 Return-Path: <user@home.nain-t.net>
X-Original-To: root
Delivered-To: root@home.nain-t.net
Received: by mail.home.nain-t.net (Postfix, from userid 1000)
	id D80FA1FE4E; Mon, 05 May 2025 16:35:29 +0200 (CEST)
To: root@home.nain-t.net
Subject: test0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
Message-Id: <20250505143529.D80FA1FE4E@mail.home.nain-t.net>
Date: Mon, 05 May 2025 16:35:29 +0200 (CEST)
From: user 

blablabla...
Tout est bon, y compris le fonctionnement des «aliases».

Ajout d'utilisateurs

Dans le cadre des objectifs fixés, il suffit de créer des utilisateurs sans aucun privilège, sans shell et tous dans le même groupe, «nogroup» par exemple:

adduser --shell /bin/false --ingroup nogroup <nom de l'utilisateur>

Si l'on prévoit une montée en puissance et l'ajout de nombreux autres utilisateurs, mieux vaudra alors envisager la solution des utilisateurs et des domaines virtuels en utilisant une base de données comme MariaDB par exemple.

Installation de Dovecot: Dernière modification le: 17/06/2025 à 14:07 par prof