Thunderbird et les droits d’accès

22 novembre 2023

Dans l’environnement Linux / Postfix / Dovecot, j’ai rencontré un gros problème décrit ICI.
En l’état, il est impossible de configurer Thunderbird ou Kmail.
A ce stade Dovecot fonctionne sous Telnet, il est possible de lister et lire les courriels.
Malgré Telnet, Thunderbird refuse de configurer une boîte courriel. Reste à trouver pourquoi.

Dans une session “USER”, les droits sont définis par, soit “.bashrc” ou plus globalement par le fichier “/etc/profile“.
Pour ce qui suit, l’utilisateur est : “jl“, le groupe “jl” est associé au groupe “mail“.
Dans le cas qui nous intéresse, les droits par défaut des fichiers sont :
jl@Test:~$ touch zz
jl@Test:~$ ll zz
-rw-rw—- 1 jl mail 0 Nov 22 17:38 zz

Dans ce cas, le fichier est accessible tant en lecture qu’en écriture pour le propriétaire et pour le groupe. Or le groupe “jl” a été joint au groupe “mail” par la commande passée sous “root” :
root@Test:~# usermod -a -G mail jl
La bonne exécution est vérifiée comme suit :
jl@Test:~$ cat /etc/group | grep mail
mail:x:8:root,jl,claude

Lorsque Postfix reçoit un courriel pour le compte “jl“,
il le dépose dans le répertoire “/home/jl/Maildir/new” avec les droits suivants :
jl@Test:~/Maildir/new$ ll
total 4
-rw——- 1 jl mail 3132 Nov 22 17:42 1700671354.V804I1fc0039M329884.Test

Pour accéder à ce fichier la commande “telnet avram.fr 110” demande
le user name ainsi que le pass-word. Telnet dispose donc des droits d’accès au fichier.
En revanche, pour accéder aux mails de l’utilisateur, Thunderbird se sert du groupe.
Or Postfix, lors du dépôt du courriel, ne donne aucun droit au groupe, l’accès aux fichiers déposés dans le répertoire “/home/Maildir/new” sont donc inaccessibles. Les recherches pour forcer Postfix à déposer les courriels avec les droits “rw” pour le groupe sont restées vaines.

La solution consiste à forcer les droits “rw” par un script qui sera lancé à espaces réguliers via “crontab”.
Le script de gestion des droits est disponible ICI, il sera exécuté toutes les 5 minutes.
Comme ce script traite les BàL de tous les utilisateurs, il appartient au compte “root“.
Le fichier de crontab ICI. Ce dispositif crée une latence acceptable, dans mon cas, Thunderbird fait le tour des BàL toutes les 10 minutes.

Remarque importante

En l’état, lors de la rédaction de ce document, seul le protocole “pop” est actif.
L’ensemble des échanges se fait en clair, pas de chiffrement.
Le protocole d’expédition de courriel “smtp” n’est pas validé. Il le sera plus tard.