Introduction à qmail
PrécédentSuivant

Chapitre 5. Configuration : pour aller plus loin

Table des matières
Le fichier d'alias /var/qmail/users/assign
Contrôle de relayage
PPP et serialmail
Fetchmail
Réécriture d'adresse d'expéditeur
UUCP
Listes de diffusion par ezmlm (à faire)
Statistiques par qmailanalog

Le fichier d'alias /var/qmail/users/assign

Le système qmail peut posséder une liste d'alias compilée au format CDB stockée dans le fichier /var/qmail/users/cdb et dont la version ASCII est stockée dans le fichier /var/qmail/users/assign. La commande qmail-newu permet de transformer la version ASCII en version compilée CDB. Cette dernière est lue par qmail-lspawn avant l'appel à qmail-local.

La version ASCII ressemble à un fichier passwd. Voir la page de manuel qmail-users pour une description de son format. La commande qmail-pw2u permet d'ailleurs de fabriquer la base de données /var/qmail/users/assign à partir de votre fichier /etc/passwd :
root$ qmail-pw2u < /etc/passwd > /var/qmail/users/assign
root$ qmail-newu

Le fichier d'alias compilé est lu par qmail-lspawn. Ce dernier s'en sert pour déterminer l'utilisateur qui recevra la livraison d'un courriel par qmail-local en mode utilisateur. qmail-local se charge de la lecture et de l'interprétation des fichiers .qmail*. Il faut bien comprendre que la liste d'alias est lue par qmail-lspawn alors que les .qmail* sont lus par qmail-local. Les deux mécanismes ne sont pas mutuellement exclusifs mais successifs. L'un opère en UID 0 et l'autre en mode utilisateur.

Considérons par exemple un courriel à destination locale sortant de la file d'attente. Il est transmis à qmail-lspawn par son père le daemon qmail-send. qmail-lspawn, qui opère en UID 0, détermine en lisant le fichier d'alias compilé le login login, l'UID uid, le GID gid et le fichier ~login/.qmail* en vertu desquels il faut faire la livraison par qmail-send. qmail-send est donc executé en UID uid et effectue la livraison conformément au fichier ~login/.qmail* et aux règles expliquées dans la section Livraison par qmail-local et utilisateur alias du Chapitre 4.
 qmail-send 
   \_ qmail-lspawn UID 0
        \_ qmail-local UID uid

Voici un exemple de fichier /var/qmail/users/assign :
=root:alias:70:65534:/var/qmail/alias:-:postmaster:
=abuse:alias:70:65534:/var/qmail/alias:-:postmaster:
=operator:alias:70:65534:/var/qmail/alias:-:postmaster:
=uucp:alias:70:65534:/var/qmail/alias:-:postmaster:
=anonymous:alias:70:65534:/var/qmail/alias:-:postmaster:
=hostmaster:alias:70:65534:/var/qmail/alias:-:postmaster:
=mailer-daemon:alias:70:65534:/var/qmail/alias:-:postmaster:
=manager:alias:70:65534:/var/qmail/alias:-:postmaster:
=warnings:alias:70:65534:/var/qmail/alias:-:postmaster:
=webmaster:alias:70:65534:/var/qmail/alias:-:postmaster:
=ftpmaster:alias:70:65534:/var/qmail/alias:-:postmaster:
=FaxMaster:alias:70:65534:/var/qmail/alias:-:postmaster:
+djalil:djay:1000:1000:/home/djay:::
.          
Chaque ligne correspond à une directive de livraison. Voir la page de manuel qmail-users pour une description des champs. Les alias habituels sont tous redirigés vers alias-postmaster, à charge du .qmail-postmaster de router les messages vers un autre utilisateur. Le fichier doit toujours se terminer par une ligne ne contenant qu'un point. La dernière ligne demande à qmail-lspawn de livrer tout courriel à destination d'une adresse commençant par djalil vers djay.

La commande qmail-getpw permet d'obtenir la ligne du fichier d'alias correspondant à l'adresse courriel qu'on lui passe en argument.


PrécédentPage principaleSuivant
Listes de diffusion par qlist (à faire) Contrôle de relayage