Sur toutes mes machines les nombreux emails envoyés par le démon Cron doivent être relayés par un Mail Transport Agent (MTA). J'utilise pour cela Postfix que j'ai l'habitude de déployer. Sur une installation minimale de Fedora, il n'y a pas vraiment changement de MTA puisqu'il y en a aucun installé d'office. En revanche, sur une installation standard de Fedora en laissant Anaconda installer GNOME3, il y aura un MTA installé par défaut (Ssmtp). Pas la peine d'essayer de le supprimer à coup de "yum remove", ce n'est pas lui qui va poser problème à Postfix, mais plutôt la configuration système faite avec des liens symboliques. Ai-je bien dit "problème" ? Ah oui c'est vrai, il est énoncé dans le log, le problème.

mai 23 01:16:54 mosquito systemd[1]: Starting Postfix Mail Transport Agent...
mai 23 01:16:56 mosquito aliasesdb[997]: newaliases: In sSMTP aliases are read from a plain text file
mai 23 01:16:56 mosquito aliasesdb[997]: touch: impossible d'obtenir les attributs de « /etc/aliases.db »: Aucun fichier ou dossier de ce type
mai 23 01:16:59 mosquito postfix/postfix-script[1187]: starting the Postfix mail system
mai 23 01:16:59 mosquito postfix/master[1189]: daemon started -- version 2.10.3, configuration /etc/postfix
mai 23 01:16:59 mosquito systemd[1]: Started Postfix Mail Transport Agent.

Après installation, le démon démarre bien, il en demeure pas moins hors-service, en effet le fichier aliases.db est un fichier vital pour son fonctionnement. Normallement, la commande newaliases est censée créer ce fichier, d'ailleurs cette commande est lancée à la fin de l'installation du paquet postfix. Sauf qu'elle échoue, même si on la lance manuellement, avec toujours le même message d'erreur :

newaliases: In sSMTP aliases are read from a plain text file

Le système utilise des liens symboliques pour définir les commandes par défaut à utiliser dans certaines situations, dont la façon de délivrer du courrier, ce type de configuration permet de se passer du libre arbitre de l'administrateur quand le système doit choisir quel programme est à utiliser, indispensable lorsqu'il y a plusieurs MTA installés sur le système. Tant que le MTA à utiliser par défaut ne sera pas /usr/sbin/sendmail.postfix, la commande newaliases restera en erreur. Il existe donc pour l'administrateur souhaitant changer les commandes par défaut un programme qui s'occupe de tout :

man alternatives

Et dans notre cas de figure, on va lancer la commande pour sélectionner Postfix :

mosquito:~# alternatives --config mta

Il existe 2 programmes qui fournissent « mta ».

  Sélection    Commande
-----------------------------------------------
*  1           /usr/sbin/sendmail.ssmtp
 + 2           /usr/sbin/sendmail.postfix

Entrez pour garder la sélection courante [+] ou saisissez le numéro de type de sélection :2

Une fois validé, newaliases devrait correctement créer le fichier aliases.db. Avant de redémarrer le service Postfix, veillez à restaurer les contextes SELinux sur ce fichier, dans le cas contraire Postfix ne redémarrera pas :

mai 28 15:58:31 mosquito systemd[1]: Starting Postfix Mail Transport Agent...
mai 28 15:58:31 mosquito aliasesdb[7044]: postalias: fatal: open /etc/aliases.db: Permission denied
mai 28 15:58:31 mosquito postfix/postalias[7046]: fatal: open /etc/aliases.db: Permission denied
mai 28 15:58:34 mosquito postfix/postfix-script[7128]: starting the Postfix mail system
mai 28 15:58:34 mosquito postfix/master[7130]: daemon started -- version 2.10.3, configuration /etc/postfix
mai 28 15:58:34 mosquito systemd[1]: Started Postfix Mail Transport Agent.

Un simple restorecon -v /etc/aliases.db fera l'affaire.