Les outils d'administration et de maintenance sont dans /usr/sbin
. Voici les principaux.
postalias sert à maintenir la base de données des alias
newaliases (/usr/bin
) assure la compatibilité avec sendmail pour la base de donnes des alias
postcat affiche le contenu des files d'attentes.
postconf affiche les paramètres de Postfix contenus dans fichier main.cf
postlog, sert à gérer les logs (réalisation de scripts)
postqueue, permet de gérer et administrer les files d'attentes.
Les journaux (logs) sont dans /var/log
Il définit les démons à lancer, leur nombre et les “ transports ”
# =================================================================== # service type private unpriv chroot wakeup maxproc command args # (yes) (yes) (yes) (never) (50) # =================================================================== smtp inet n - y - - smtpd smtps inet n - y - - smtpd \ -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes submission inet n - y - - smtpd \ -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes pickup fifo n n y 60 1 pickup cleanup unix - - y - 0 cleanup qmgr fifo n - y 300 1 qmgr #qmgr fifo n - y 300 1 nqmgr tlsmgr fifo - - y 300 1 tlsmgr rewrite unix - - y - - trivial-rewrite bounce unix - - y - 0 bounce defer unix - - y - 0 bounce flush unix - - y 1000? 0 flush smtp unix - - y - - smtp showq unix n - y - - showq error unix - - y - - error local unix - n n - - local virtual unix - n n - - virtual lmtp unix - - n - - lmtp [...]
Si postfix n'a pas été préalablement configuré, vous n'avez pas de fichier de configuration main.cf
. Vous pouvez utiliser la commande :
dpkg-reconfigure postfix
Utilisez les paramètres suivants pour une configuration minimale :
#$NOM_MACHINE est le nom d'hôte de votre machine local only $NOM_MACHINE Append Domain no Destination $NOM_MACHINE Local Network 127.0.0.0/8 Use Procmail Yes Siez Mail Box 0 Char Def Local Adress +
Le fichier main.cf
contient tous les paramètres de postfix. Ceux-ci peuvent être affichés avec la commande postconf.
Voici un exmple de main.cf
que vous pourrez réutiliser pour les TP
# Vous avez un fichier complet et commenté # /usr/share/postfix/main.cf.dist command_directory = /usr/sbin daemon_directory = /usr/lib/postfix program_directory = /usr/lib/postfix smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) setgid_group = postdrop biff = no 2bounce_notice_recipient = postmaster # appending .domain is the MUA's job. append_dot_mydomain = no myhostname = NomHote.foo.org mydomain = foo.org mydestination = $myhostname, localhost.$mydomain $mydomain myhostname = NomHote.foo.org myorigin = $mydomain myorigin = /etc/mailname alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases # /etc/mailname contient l'équivalent de $MYHOSTNAME mynetworks = 127.0.0.0/8 192.168.0.0/24 mailbox_command = procmail -a "$EXTENSION" mailbox_size_limit = 0 recipient_delimiter = + relay_domains = $mydestination relayhost = $mydomain smtpd_recipient_restrictions = permit_mynetworks,check_relay_domains
Pour une configuration initiale remplir myhostname, mydomain, myorigin, mydestination, relayhost.
Il sert à la création des aliases, par exemple jean.dudognon sera l'alias du compte système jddgn. Le courrier sera adressé à jean.dudognon@domaine.dom, mais sera délivré dans la boîte du compte jddgn, c'est à dire physiquement dans /var/spool/mail/jddgn
.
Le fichier /etc/postfix/aliases
est de type texte. C'est celui-ci que vous modifiez. Après chaque modification du fichier source utiliser la commande newaliases ou postaliases hash:/etc/postfix/aliases
qui met à jour le fichier de bases de données /etc/postfix/aliases.db
.
La maintenance est réalisée à l'aide des commandes externes. Autrement les transactions sont journalisées par le démon syslogd.
Oct 31 11:23:26 uranus postfix/master[2745]: daemon started uranus postfix/smtpd[2753]: connect from unknown[192.168.1.1] uranus postfix/smtpd[2753]: 82BF05769B: client=unknown[192.168.1.1] uranus postfix/cleanup[2754]: 82BF05769B: message-id=<20011031102453.82BF05769B@uranus.foo.org> uranus postfix/qmgr[2749]: 82BF05769B: from=<mlx@foo.org>, size=318, nrcpt=1 (queue active) uranus postfix/local[2756]: 82BF05769B: to=<mlx@foo.org>, relay=local, delay=94, status=sent ("|/usr/bin/procmail /etc/procmail.rc") uranus postfix/smtpd[2753]: disconnect from unknown[192.168.1.1]