Introduction à qmail | ||
---|---|---|
Précédent | Suivant |
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::: . |
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édent | Page principale | Suivant |
Listes de diffusion par qlist (à faire) | Contrôle de relayage |