Postfix: Failed to start LSB: Postfix Mail Transport Agent [Résolu]

Signaler
-
Messages postés
35097
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
13 juillet 2020
-
Bonjour,

Il y a quelques temps j’ai installé un serveur mail en suivant ce tutoriel https://www.youtube.com/watch?v=pe7x2o0Ys6s .
J’ai configuré une authentification avec courier-authdaemon qui me permet de m’identifier en TLS si je ne dis pas de bêtises.
Toute cette configuration a très bien fonctionné pendant plusieurs mois. Par ailleurs j’avais déjà une installation de serveur mail inspirée du même tutoriel mais sans le courier-authdaemon en TLS et ça a fonctionné pendant plusieurs années.

Depuis une coupure d’électricité ou depuis une mise à jour (je ne saurai vous dire) mon serveur mail ne veut plus démarrer. J’obtiens le message d’erreur suivant :

postconf: fatal: file /etc/postfix/master.cf: line 19: bad field count
postfix.service: Control process exited, code=exited status=1
Failed to start LSB: Postfix Mail Transport Agent.
postfix.service: Unit entered failed state.
postfix.service: Failed with result 'exit-code'.

J’ai regardé quelques questions qui traitent des erreurs similaires mais elles ne semblent pas réellement être identiques.

Lorsque je commente la ligne 19 du master.cf j’ai d’autres lignes qui bloquent plus bas. Bref, je finis par commenter toutes les lignes qui bloquent (toutes liées à l’authentification), je redémarre postfix et là ça fonctionne ! (Sauf que ma boite mail n’est plus du tout sécurisée) Alors je « décommente » les lignes préalablement commentées et je redémarre postfix, et là attention, ça fonctionne ! Mais si je redémarre complètement mon serveur (la machine) alors je retombe sur la même erreur, et il faut à nouveau jouer avec les lignes à commenter…

Auriez-vous quelques pistes à me donner afin de résoudre ce problème ?
Je glisse mon fichier de configuration master.cf, n’hésitez pas à me demander d’autres fichiers de configuration si cela peut vous aider à comprendre :)
Les lignes précédées par « ### -> » sont les fameuses lignes qui bloquent.

Merci beaucoup pour votre aide !

#
# Postfix master process configuration file.  For details on the format
# of the file, see the master(5) manual page (command: "man 5 master" or
# on-line: http://www.postfix.org/master.5.html).
#
# Do not forget to execute "postfix reload" after editing this file.
#
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (no)    (never) (100)
# ==========================================================================
smtp      inet  n       -       -       -       -       smtpd
#smtp      inet  n       -       y       -       1       postscreen
#smtpd     pass  -       -       y       -       -       smtpd
#dnsblog   unix  -       -       y       -       0       dnsblog
#tlsproxy  unix  -       -       y       -       0       tlsproxy
#submission inet n       -       y       -       -       smtpd
#  -o syslog_name=postfix/submission
### -> -o smtpd_tls_security_level=encrypt
### -> -o smtpd_sasl_auth_enable=yes
#  -o smtpd_reject_unlisted_recipient=no
#  -o smtpd_client_restrictions=$mua_client_restrictions
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
#  -o smtpd_recipient_restrictions=
#  -o milter_macro_daemon_name=ORIGINATING
#    -o smtpd_client_restrictions=permit_mynetworks,permit_sasl_authenticated,reject
#-o smtpd_client_restrictions=permit_sasl_authenticated,reject
### -> -o smtpd_helo_restrictions=permit_mynetworks,permit 
### -> -o smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination # --- Block relay if not logged
### -> -o smtpd_sender_restrictions = reject_unknown_sender_domain # ---  Block rellay if not logged 
smtps     inet  n       -       y       -       -       smtpd
#  -o syslog_name=postfix/smtps
#  -o smtpd_tls_wrappermode=yes
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_reject_unlisted_recipient=no
#  -o smtpd_client_restrictions=$mua_client_restrictions
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
#  -o smtpd_recipient_restrictions=
### -> -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING 
#628       inet  n       -       y       -       -       qmqpd
pickup    unix  n       -       y       60      1       pickup
cleanup   unix  n       -       y       -       0       cleanup
qmgr      unix  n       -       n       300     1       qmgr
#qmgr     unix  n       -       n       300     1       oqmgr
tlsmgr    unix  -       -       y       1000?   1       tlsmgr
rewrite   unix  -       -       y       -       -       trivial-rewrite
bounce    unix  -       -       y       -       0       bounce
defer     unix  -       -       y       -       0       bounce
trace     unix  -       -       y       -       0       bounce
verify    unix  -       -       y       -       1       verify
flush     unix  n       -       y       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       y       -       -       smtp
relay     unix  -       -       y       -       -       smtp
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq     unix  n       -       y       -       -       showq
error     unix  -       -       y       -       -       error
retry     unix  -       -       y       -       -       error
discard   unix  -       -       y       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       y       -       -       lmtp
anvil     unix  -       -       y       -       1       anvil
scache    unix  -       -       y       -       1       scache
#
# ====================================================================
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# Many of the following services use the Postfix pipe(8) delivery
# agent.  See the pipe(8) man page for information about ${recipient}
# and other message envelope options.
# ====================================================================
#
# maildrop. See the Postfix MAILDROP_README file for details.
# Also specify in main.cf: maildrop_destination_recipient_limit=1
#
maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
#
# ====================================================================
#
# Recent Cyrus versions can use the existing "lmtp" master.cf entry.
#
# Specify in cyrus.conf:
#   lmtp    cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4
#
# Specify in main.cf one or more of the following:
#  mailbox_transport = lmtp:inet:localhost
#  virtual_transport = lmtp:inet:localhost
#
# ====================================================================
#
# Cyrus 2.1.5 (Amos Gouaux)
# Also specify in main.cf: cyrus_destination_recipient_limit=1
#
#cyrus     unix  -       n       n       -       -       pipe
#  user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
#
# ====================================================================
# Old example of delivery via Cyrus.
#
#old-cyrus unix  -       n       n       -       -       pipe
#  flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
#
# ====================================================================
#
# See the Postfix UUCP_README file for configuration details.
#
uucp      unix  -       n       n       -       -       pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Other external delivery methods.
#
ifmail    unix  -       n       n       -       -       pipe
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp     unix  -       n       n       -       -       pipe
  flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix	-	n	n	-	2	pipe
  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman   unix  -       n       n       -       -       pipe
  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
  ${nexthop} ${user}

1 réponse

Messages postés
35097
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
13 juillet 2020
5 270
Salut,
Alors je « décommente » les lignes préalablement commentées et je redémarre postfix, et là attention, ça fonctionne ! Mais si je redémarre complètement mon serveur (la machine) alors je retombe sur la même erreur, et il faut à nouveau jouer avec les lignes à commenter…
Si ton problème se situe au démarrage, commence par jeter un œil aux journaux correspondants :
sudo less -Rr /var/log/boot.log
sudo less -Rr /var/log/syslog
dmesg


Bonjour, merci pour votre réponse,

/var/log/boot.log est vide
/var/log/syslog contient 6 lignes concernant postfix (les même que celles présentes dans ma question initiale) :


Feb 13 12:40:32 blackout postfix[1708]: * Starting Postfix Mail Transport Agent postfix
Feb 13 12:40:34 blackout postfix[1708]: postconf: fatal: file /etc/postfix/master.cf: line 19: bad field count
Feb 13 12:40:35 blackout postfix[1708]: postconf: fatal: file /etc/postfix/master.cf: line 19: bad field count
Feb 13 12:40:36 blackout systemd[1]: postfix.service: Control process exited, code=exited status=1
Feb 13 12:40:36 blackout systemd[1]: postfix.service: Unit entered failed state.
Feb 13 12:40:36 blackout systemd[1]: postfix.service: Failed with result 'exit-code'.


dmesg | grep postfix ne renvoie rien.
dmesg | grep lsb ne renvoie rien non plus.

Je me demande si le problème est réellement lié au redémarrage du serveur. A mon avis il s’agit plutôt d’un déblocage qui à lieu au moment ou je fais le jeu de commenter décommenter. Comme si cela permettait à un service dont postfix dépend de démarrer correctement, et une fois qu’il est démarré (le service), je peux à nouveau demander à postfix de reprendre en considération les lignes qui appellent ce service.
Messages postés
35097
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
13 juillet 2020
5 270 > valenrom97
Voir du côté de l'indentation… peut-être…
>
Messages postés
35097
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
13 juillet 2020

Oui ! Je viens de voir ce même post ! C'est exactement ça le problème :)
Au cas où le lien meurt, le dernier message dans ce post indique:

"Yes, looks like at least 2 spaces are needed for the indentation. Once space didn't work for me. "

Il fallait rajouter deux espaces devant ces lignes. Pourquoi ils n'y étaient pas.. mystère.
Merci beaucoup pour votre aide Zipe31 , mon problème est résolu, excellente journée !
Messages postés
35097
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
13 juillet 2020
5 270 > valenrom97
De rien et merci du retour.