Inhaltsverzeichnis
Postfix CentOS 7 - Migration von Version 2.x auf 3.x
Postfix ist Wietse Venema's Mail-Server, welcher bei „IBM research“ als Alternative zum ehemals weit verbreiteten Programm Sendmail entwickelt wurde. Postfix erhebt den Anspruch ein schneller, einfach zu administrierender und sicherer Mail-Server zu sein.
WICHTIG - Bei CentOS ab der Version 7.x ist Postfix in der Version 2.10.1 enthalten, was die Nutzung einiger Möglichkeiten neuerer Postfix Versionen verhindert. Deshalb soll Postfix aus nachfolgendem Drittanbieter-Repository installiert werden!
Postfix wird von Wietse Venema entwickelt.
Beschreibung | Externer Link |
---|---|
Homepage | http://www.postfix.org |
Dokumentation | http://www.postfix.org/documentation.html |
Ankündigungen | http://www.postfix.org/announcements.html |
Upgrade | http://www.postfix.org/COMPATIBILITY_README.html |
Ab hier werden zur Ausführung nachfolgender Befehle root
-Rechte benötigt. Um der Benutzer root
zu werden, melden Sie sich bitte als root
-Benutzer am System an, oder wechseln mit nachfolgendem Befehl zum Benutzer root
:
$ su - Password:
Herunterladen
Nachfolgend soll ein Drittanbieter-Repository, welches von dem mir sehr geschätzten Michael Nausch betrieben wird und eine sichere und verlässliche Quelle für rpm-Pakete darstellt, wie unter nachfolgendem internen Link dargestellt, eingebunden werden:
HINWEIS - Aktuell kommt das rpm
-Paket für Postfix Version 3.x noch aus dem mailserver.guru-testing
-Repository!
Deinstallation
Bevor mit der eigentlichen Deinstallation des postfix
-Pakets begonnen werden kann, sollte Postfix mit nachfolgendem Befehl gestoppt werden:
# systemctl stop postfix.service
Dienst/Deamon-Stopp durchführen
Um einen Postfix, welcher als Dienst/Deamon als Hintergrundprozess läuft, auch nach einem Neustart des Servers nicht mehr zur Verfügung zu haben, soll der Dienst/Daemon mit dem Server nicht mehr mit gestartet werden, was mit nachfolgendem Befehl realisiert werden kann:
# systemctl disable postfix.service rm '/etc/systemd/system/multi-user.target.wants/postfix.service'
Eine Überprüfung, ob beim Neustart des Server der dovecot
-Dienst/Deamon wirklich nicht mehr mit gestartet wird, kann mit nachfolgendem Befehl erfolgen und sollte eine Anzeige, wie ebenfalls nachfolgend dargestellt ausgeben:
# systemctl list-unit-files --type=service | grep -e postfix.service postfix.service disabled
bzw.
# systemctl is-enabled postfix.service disabled
Paket postfix entfernen
Nachdem das Drittanbieter-Repository
erfolgreich eingebunden wurde, kann mit nachfolgenden Befehlen, das alte rpm
-Paket - postfix
deinstalliert werden:
# yum remove postfix Loaded plugins: changelog, priorities Resolving Dependencies --> Running transaction check ---> Package postfix.x86_64 2:2.10.1-6.el7 will be erased --> Finished Dependency Resolution Changes in packages about to be updated: Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Removing: postfix x86_64 2:2.10.1-6.el7 @anaconda 12 M Transaction Summary ================================================================================ Remove 1 Package Installed size: 12 M Is this ok [y/N]: y Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Erasing : 2:postfix-2.10.1-6.el7.x86_64 1/1 warning: directory /var/spool/postfix: remove failed: Device or resource busy Verifying : 2:postfix-2.10.1-6.el7.x86_64 1/1 Removed: postfix.x86_64 2:2.10.1-6.el7 Complete!
HINWEIS - Nachfolgende Warnung
warning: directory /var/spool/postfix: remove failed: Device or resource busy
da sich es bei diesem Verzeichnis um eine eigene Partition, bzw. Mount-Point und diese in Benutzung ist, handelt!
Installation: Postfix
Nachfolgender interne Link beschreibt die Installation von Postfix unter Verwendung des internen Links zur Einbindung des mailserver.guru - CentOS 7-Repositories:
Nach erfolgreicher Einbindung des Drittanbieter-Repository, sind nachfolgende Anpassungen in den Konfigurationsdateien
/etc/yum.repos.d/mailserver.guru.repo
/etc/yum.repos.d/CentOS-Base.repo
noch erforderlich, um die Installation des Postfix Version 3.x noch aus dem mailserver.guru-testing
-Repository durchführen zu können.
/etc/yum.repos.d/mailserver.guru.repo
[mailserver.guru-os] name=Extra (Mailserver-)Packages for Enterprise Linux 7 - $basearch baseurl=http://repo.mailserver.guru/7/os/$basearch priority=50 enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/MAILSERVER.GURU-RPM-GPG-KEY-CentOS-7 exclude=postfix,postfix-* [mailserver.guru-testing] name=Testing (Mailserver-)Packages for Enterprise Linux 7 - $basearch baseurl=http://repo.mailserver.guru/7/testing/$basearch/ priority=50 enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/MAILSERVER.GURU-RPM-GPG-KEY-CentOS-7
Erklärungen zu den Anpassungen:
exclude=postfix,postfix-*
Herausnehmen des Pakets postfix
und alle damit Verbundenen Pakete aus dem mailserver.guru-os
-Repository.
enabled=1
Aktivieren des mailserver.guru-testing
-Repository.
/etc/yum.repos.d/CentOS-Base.repo
(Nur relevanter Ausschnitt)
[base] name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 priority=1 exclude=postfix,postfix-*
Erklärungen zu den Anpassungen:
exclude=postfix,postfix-*
Herausnehmen des Pakets postfix
und alle damit Verbundenen Pakete aus dem CentOS-Base
-Repository.
Paket postfix installieren
Nachdem das Drittanbieter-Repository
erfolgreich eingebunden wurde, kann mit nachfolgendem Befehl, das neuere rpm
-Paket - postfix
installiert werden:
# yum install postfix Loaded plugins: changelog, priorities 820 packages excluded due to repository priority protections Resolving Dependencies --> Running transaction check ---> Package postfix.x86_64 2:3.4.5-1.el7 will be installed --> Finished Dependency Resolution Changes in packages about to be updated: Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: postfix x86_64 2:3.4.5-1.el7 mailserver.guru-testing 1.4 M Transaction Summary ================================================================================ Install 1 Package Total download size: 1.4 M Installed size: 4.1 M Is this ok [y/d/N]: y Downloading packages: postfix-3.4.5-1.el7.x86_64.rpm | 1.4 MB 00:09 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : 2:postfix-3.4.5-1.el7.x86_64 1/1 Verifying : 2:postfix-3.4.5-1.el7.x86_64 1/1 Installed: postfix.x86_64 2:3.4.5-1.el7 Complete!
Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit den Paket postfix
installiert wurden.
# rpm -qil postfix Name : postfix Epoch : 2 Version : 3.4.5 Release : 1.el7 Architecture: x86_64 Install Date: Mon 20 May 2019 10:38:44 AM CEST Group : System Environment/Daemons Size : 4347936 License : IBM Signature : RSA/SHA1, Wed 03 Apr 2019 04:15:06 PM CEST, Key ID 60ecfb9e8195aea0 Source RPM : postfix-3.4.5-1.el7.src.rpm Build Date : Wed 03 Apr 2019 04:14:44 PM CEST Build Host : vml000137.dmz.nausch.org Relocations : (not relocatable) Packager : Django <django@mailserver.guru> URL : http://www.postfix.org Summary : Postfix Mail Transport Agent Description : Postfix is a Mail Transport Agent (MTA), supporting LDAP, SMTP AUTH (SASL), TLS /etc/pam.d/smtp /etc/pam.d/smtp.postfix /etc/postfix /etc/postfix/access /etc/postfix/canonical /etc/postfix/dynamicmaps.cf /etc/postfix/dynamicmaps.cf.d /etc/postfix/generic /etc/postfix/header_checks /etc/postfix/main.cf /etc/postfix/main.cf.proto /etc/postfix/master.cf /etc/postfix/master.cf.proto /etc/postfix/postfix-files /etc/postfix/relocated /etc/postfix/transport /etc/postfix/virtual /etc/sasl2/smtpd.conf /usr/bin/mailq /usr/bin/mailq.postfix /usr/bin/newaliases /usr/bin/newaliases.postfix /usr/bin/rmail /usr/bin/rmail.postfix /usr/lib/postfix/libpostfix-dns.so /usr/lib/postfix/libpostfix-global.so /usr/lib/postfix/libpostfix-master.so /usr/lib/postfix/libpostfix-tls.so /usr/lib/postfix/libpostfix-util.so /usr/lib/sendmail /usr/lib/sendmail.postfix /usr/lib/systemd/system/postfix.service /usr/libexec/postfix /usr/libexec/postfix/aliasesdb /usr/libexec/postfix/anvil /usr/libexec/postfix/bounce /usr/libexec/postfix/chroot-update /usr/libexec/postfix/cleanup /usr/libexec/postfix/discard /usr/libexec/postfix/dnsblog /usr/libexec/postfix/error /usr/libexec/postfix/flush /usr/libexec/postfix/lmtp /usr/libexec/postfix/local /usr/libexec/postfix/master /usr/libexec/postfix/nqmgr /usr/libexec/postfix/oqmgr /usr/libexec/postfix/pickup /usr/libexec/postfix/pipe /usr/libexec/postfix/post-install /usr/libexec/postfix/postfix-script /usr/libexec/postfix/postfix-tls-script /usr/libexec/postfix/postfix-wrapper /usr/libexec/postfix/postlogd /usr/libexec/postfix/postmulti-script /usr/libexec/postfix/postscreen /usr/libexec/postfix/proxymap /usr/libexec/postfix/qmgr /usr/libexec/postfix/qmqpd /usr/libexec/postfix/scache /usr/libexec/postfix/showq /usr/libexec/postfix/smtp /usr/libexec/postfix/smtpd /usr/libexec/postfix/spawn /usr/libexec/postfix/tlsmgr /usr/libexec/postfix/tlsproxy /usr/libexec/postfix/trivial-rewrite /usr/libexec/postfix/verify /usr/libexec/postfix/virtual /usr/sbin/postalias /usr/sbin/postcat /usr/sbin/postconf /usr/sbin/postdrop /usr/sbin/postfix /usr/sbin/postkick /usr/sbin/postlock /usr/sbin/postlog /usr/sbin/postmap /usr/sbin/postmulti /usr/sbin/postqueue /usr/sbin/postsuper /usr/sbin/sendmail /usr/sbin/sendmail.postfix /usr/sbin/smtp-sink /usr/sbin/smtp-source /usr/share/doc/postfix-3.4.5 /usr/share/doc/postfix-3.4.5/COMPATIBILITY /usr/share/doc/postfix-3.4.5/LICENSE /usr/share/doc/postfix-3.4.5/README-Postfix-SASL-RedHat.txt /usr/share/doc/postfix-3.4.5/README_FILES /usr/share/doc/postfix-3.4.5/README_FILES/AAAREADME /usr/share/doc/postfix-3.4.5/README_FILES/ADDRESS_CLASS_README /usr/share/doc/postfix-3.4.5/README_FILES/ADDRESS_REWRITING_README /usr/share/doc/postfix-3.4.5/README_FILES/ADDRESS_VERIFICATION_README /usr/share/doc/postfix-3.4.5/README_FILES/BACKSCATTER_README /usr/share/doc/postfix-3.4.5/README_FILES/BASIC_CONFIGURATION_README /usr/share/doc/postfix-3.4.5/README_FILES/BUILTIN_FILTER_README /usr/share/doc/postfix-3.4.5/README_FILES/COMPATIBILITY_README /usr/share/doc/postfix-3.4.5/README_FILES/CONNECTION_CACHE_README /usr/share/doc/postfix-3.4.5/README_FILES/CONTENT_INSPECTION_README /usr/share/doc/postfix-3.4.5/README_FILES/DATABASE_README /usr/share/doc/postfix-3.4.5/README_FILES/DB_README /usr/share/doc/postfix-3.4.5/README_FILES/DEBUG_README /usr/share/doc/postfix-3.4.5/README_FILES/DSN_README /usr/share/doc/postfix-3.4.5/README_FILES/ETRN_README /usr/share/doc/postfix-3.4.5/README_FILES/FILTER_README /usr/share/doc/postfix-3.4.5/README_FILES/FORWARD_SECRECY_README /usr/share/doc/postfix-3.4.5/README_FILES/INSTALL /usr/share/doc/postfix-3.4.5/README_FILES/IPV6_README /usr/share/doc/postfix-3.4.5/README_FILES/LINUX_README /usr/share/doc/postfix-3.4.5/README_FILES/LOCAL_RECIPIENT_README /usr/share/doc/postfix-3.4.5/README_FILES/MAILDROP_README /usr/share/doc/postfix-3.4.5/README_FILES/MEMCACHE_README /usr/share/doc/postfix-3.4.5/README_FILES/MILTER_README /usr/share/doc/postfix-3.4.5/README_FILES/MULTI_INSTANCE_README /usr/share/doc/postfix-3.4.5/README_FILES/NFS_README /usr/share/doc/postfix-3.4.5/README_FILES/OVERVIEW /usr/share/doc/postfix-3.4.5/README_FILES/PACKAGE_README /usr/share/doc/postfix-3.4.5/README_FILES/POSTSCREEN_README /usr/share/doc/postfix-3.4.5/README_FILES/QSHAPE_README /usr/share/doc/postfix-3.4.5/README_FILES/RELEASE_NOTES /usr/share/doc/postfix-3.4.5/README_FILES/RESTRICTION_CLASS_README /usr/share/doc/postfix-3.4.5/README_FILES/SASL_README /usr/share/doc/postfix-3.4.5/README_FILES/SCHEDULER_README /usr/share/doc/postfix-3.4.5/README_FILES/SMTPD_ACCESS_README /usr/share/doc/postfix-3.4.5/README_FILES/SMTPD_POLICY_README /usr/share/doc/postfix-3.4.5/README_FILES/SMTPD_PROXY_README /usr/share/doc/postfix-3.4.5/README_FILES/SOHO_README /usr/share/doc/postfix-3.4.5/README_FILES/STANDARD_CONFIGURATION_README /usr/share/doc/postfix-3.4.5/README_FILES/STRESS_README /usr/share/doc/postfix-3.4.5/README_FILES/TLS_LEGACY_README /usr/share/doc/postfix-3.4.5/README_FILES/TLS_README /usr/share/doc/postfix-3.4.5/README_FILES/TUNING_README /usr/share/doc/postfix-3.4.5/README_FILES/ULTRIX_README /usr/share/doc/postfix-3.4.5/README_FILES/UUCP_README /usr/share/doc/postfix-3.4.5/README_FILES/VERP_README /usr/share/doc/postfix-3.4.5/README_FILES/VIRTUAL_README /usr/share/doc/postfix-3.4.5/README_FILES/XCLIENT_README /usr/share/doc/postfix-3.4.5/README_FILES/XFORWARD_README /usr/share/doc/postfix-3.4.5/TLS_ACKNOWLEDGEMENTS /usr/share/doc/postfix-3.4.5/TLS_LICENSE /usr/share/doc/postfix-3.4.5/bounce.cf.default /usr/share/doc/postfix-3.4.5/examples /usr/share/doc/postfix-3.4.5/examples/chroot-setup /usr/share/doc/postfix-3.4.5/examples/chroot-setup/LINUX2 /usr/share/doc/postfix-3.4.5/examples/qmail-local /usr/share/doc/postfix-3.4.5/examples/qmail-local/qmail-local.txt /usr/share/doc/postfix-3.4.5/examples/smtpd-policy /usr/share/doc/postfix-3.4.5/examples/smtpd-policy/README.SPF /usr/share/doc/postfix-3.4.5/examples/smtpd-policy/greylist.pl /usr/share/doc/postfix-3.4.5/main.cf.default /usr/share/man/man1/mailq.1.gz /usr/share/man/man1/mailq.postfix.1.gz /usr/share/man/man1/newaliases.1.gz /usr/share/man/man1/newaliases.postfix.1.gz /usr/share/man/man1/postalias.1.gz /usr/share/man/man1/postcat.1.gz /usr/share/man/man1/postconf.1.gz /usr/share/man/man1/postdrop.1.gz /usr/share/man/man1/postfix-tls.1.gz /usr/share/man/man1/postfix.1.gz /usr/share/man/man1/postkick.1.gz /usr/share/man/man1/postlock.1.gz /usr/share/man/man1/postlog.1.gz /usr/share/man/man1/postmap.1.gz /usr/share/man/man1/postmulti.1.gz /usr/share/man/man1/postqueue.1.gz /usr/share/man/man1/postsuper.1.gz /usr/share/man/man1/sendmail.postfix.1.gz /usr/share/man/man1/smtp-sink.1.gz /usr/share/man/man1/smtp-source.1.gz /usr/share/man/man5/access.5.gz /usr/share/man/man5/aliases.5.gz /usr/share/man/man5/aliases.postfix.5.gz /usr/share/man/man5/body_checks.5.gz /usr/share/man/man5/bounce.5.gz /usr/share/man/man5/canonical.5.gz /usr/share/man/man5/cidr_table.5.gz /usr/share/man/man5/generic.5.gz /usr/share/man/man5/header_checks.5.gz /usr/share/man/man5/master.5.gz /usr/share/man/man5/memcache_table.5.gz /usr/share/man/man5/nisplus_table.5.gz /usr/share/man/man5/postconf.5.gz /usr/share/man/man5/postfix-wrapper.5.gz /usr/share/man/man5/regexp_table.5.gz /usr/share/man/man5/relocated.5.gz /usr/share/man/man5/socketmap_table.5.gz /usr/share/man/man5/tcp_table.5.gz /usr/share/man/man5/transport.5.gz /usr/share/man/man5/virtual.5.gz /usr/share/man/man8/anvil.8.gz /usr/share/man/man8/bounce.8.gz /usr/share/man/man8/cleanup.8.gz /usr/share/man/man8/defer.8.gz /usr/share/man/man8/discard.8.gz /usr/share/man/man8/dnsblog.8.gz /usr/share/man/man8/error.8.gz /usr/share/man/man8/flush.8.gz /usr/share/man/man8/lmtp.8.gz /usr/share/man/man8/local.8.gz /usr/share/man/man8/master.8.gz /usr/share/man/man8/oqmgr.8.gz /usr/share/man/man8/pickup.8.gz /usr/share/man/man8/pipe.8.gz /usr/share/man/man8/postlogd.8.gz /usr/share/man/man8/postscreen.8.gz /usr/share/man/man8/proxymap.8.gz /usr/share/man/man8/qmgr.8.gz /usr/share/man/man8/qmqpd.8.gz /usr/share/man/man8/scache.8.gz /usr/share/man/man8/sendmail.8.gz /usr/share/man/man8/showq.8.gz /usr/share/man/man8/smtp.8.gz /usr/share/man/man8/smtpd.8.gz /usr/share/man/man8/spawn.8.gz /usr/share/man/man8/tlsmgr.8.gz /usr/share/man/man8/tlsproxy.8.gz /usr/share/man/man8/trace.8.gz /usr/share/man/man8/trivial-rewrite.8.gz /usr/share/man/man8/verify.8.gz /usr/share/man/man8/virtual.8.gz /var/lib/misc/postfix.aliasesdb-stamp /var/lib/postfix /var/spool/postfix /var/spool/postfix/active /var/spool/postfix/bounce /var/spool/postfix/corrupt /var/spool/postfix/defer /var/spool/postfix/deferred /var/spool/postfix/flush /var/spool/postfix/hold /var/spool/postfix/incoming /var/spool/postfix/maildrop /var/spool/postfix/pid /var/spool/postfix/private /var/spool/postfix/public /var/spool/postfix/saved /var/spool/postfix/trace
Dienst/Deamon-Start einrichten
Um einen Postfix, welcher als Dienst/Deamon als Hintergrundprozess läuft, auch nach einem Neustart des Servers zur Verfügung zu haben, soll der Dienst/Daemon mit dem Server mit gestartet werden, was mit nachfolgendem Befehl realisiert werden kann:
# systemctl enable postfix.service
HINWEIS - Sollte keine Ausgabe nach Ausführung des Befehls erfolgen, wurde dieser mit der Installation bereits eingerichtet.
Eine Überprüfung, ob beim Neustart des Server der postfix
-Dienst/Deamon wirklich mit gestartet wird, kann mit nachfolgendem Befehl erfolgen und sollte eine Anzeige, wie ebenfalls nachfolgend dargestellt ausgeben:
# systemctl list-unit-files --type=service | grep -e postfix.service postfix.service enabled
bzw.
# systemctl is-enabled postfix.service enabled
Installation: Datenbank-Module
pcre
Für den Einsatz der Datenbankunterstützungen vom Typ pcre
, welche für die Konfigurationen wie,
header_checks
mime_header_checks
nested_header_checks
body_checks
zum Einsatz kommen kann, ist die Installation des rpm
-Pakets
postfix-pcre
erforderlich, was mit nachfolgendem Befehl durchgeführt werden kann:
# yum install postfix-pcre Loaded plugins: changelog, priorities 820 packages excluded due to repository priority protections Resolving Dependencies --> Running transaction check ---> Package postfix-pcre.x86_64 2:3.4.5-1.el7 will be installed --> Finished Dependency Resolution Changes in packages about to be updated: Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: postfix-pcre x86_64 2:3.4.5-1.el7 mailserver.guru-testing 31 k Transaction Summary ================================================================================ Install 1 Package Total download size: 31 k Installed size: 26 k Is this ok [y/d/N]: y Downloading packages: postfix-pcre-3.4.5-1.el7.x86_64.rpm | 31 kB 00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : 2:postfix-pcre-3.4.5-1.el7.x86_64 1/1 Verifying : 2:postfix-pcre-3.4.5-1.el7.x86_64 1/1 Installed: postfix-pcre.x86_64 2:3.4.5-1.el7 Complete!
Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit den Paket postfix-prce
installiert wurden.
# rpm -qil postfix-pcre Name : postfix-pcre Epoch : 2 Version : 3.4.5 Release : 1.el7 Architecture: x86_64 Install Date: Mon 20 May 2019 01:26:46 PM CEST Group : Applications/System Size : 26325 License : IBM Signature : RSA/SHA1, Wed 03 Apr 2019 04:15:07 PM CEST, Key ID 60ecfb9e8195aea0 Source RPM : postfix-3.4.5-1.el7.src.rpm Build Date : Wed 03 Apr 2019 04:14:44 PM CEST Build Host : vml000137.dmz.nausch.org Relocations : (not relocatable) Packager : Django <django@mailserver.guru> URL : http://www.postfix.org Summary : PCRE Database Support for Postfix Description : Install this package if you need support for the PCRE database type in postfix /etc/postfix/dynamicmaps.cf.d/pcre.cf /usr/lib/postfix/postfix-pcre.so /usr/share/doc/postfix-3.4.5/README_FILES/PCRE_README /usr/share/man/man5/pcre_table.5.gz
mysql
Für den Einsatz der Datenbankunterstützungen vom Typ mysql
, welche für die optionale Verwendung von MySQL oder MariaDB in Konfigurationen wie,
virtual_alias_maps
virtual_mailbox_domains
virtual_mailbox_maps
zum Einsatz kommen kann, ist die Installation des rpm
-Pakets
postfix-mysql
erforderlich, was mit nachfolgendem Befehl durchgeführt werden kann:
# yum install postfix-mysql Loaded plugins: changelog, priorities 820 packages excluded due to repository priority protections Resolving Dependencies --> Running transaction check ---> Package postfix-mysql.x86_64 2:3.4.5-1.el7 will be installed --> Finished Dependency Resolution Changes in packages about to be updated: Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: postfix-mysql x86_64 2:3.4.5-1.el7 mailserver.guru-testing 33 k Transaction Summary ================================================================================ Install 1 Package Total download size: 33 k Installed size: 30 k Is this ok [y/d/N]: y Downloading packages: postfix-mysql-3.4.5-1.el7.x86_64.rpm | 33 kB 00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : 2:postfix-mysql-3.4.5-1.el7.x86_64 1/1 Verifying : 2:postfix-mysql-3.4.5-1.el7.x86_64 1/1 Installed: postfix-mysql.x86_64 2:3.4.5-1.el7 Complete!
Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit den Paket postfix-mysql
installiert wurden.
# rpm -qil postfix-mysql Name : postfix-mysql Epoch : 2 Version : 3.4.5 Release : 1.el7 Architecture: x86_64 Install Date: Mon 20 May 2019 01:26:46 PM CEST Group : Applications/System Size : 30695 License : IBM Signature : RSA/SHA1, Wed 03 Apr 2019 04:15:07 PM CEST, Key ID 60ecfb9e8195aea0 Source RPM : postfix-3.4.5-1.el7.src.rpm Build Date : Wed 03 Apr 2019 04:14:44 PM CEST Build Host : vml000137.dmz.nausch.org Relocations : (not relocatable) Packager : Django <django@mailserver.guru> URL : http://www.postfix.org Summary : MySQL Database Support for Postfix Description : Install this package if you need support for the MySQL database type in postfix /etc/postfix/dynamicmaps.cf.d/mysql.cf /usr/lib/postfix/postfix-mysql.so /usr/share/doc/postfix-3.4.5/README_FILES/MYSQL_README /usr/share/man/man5/mysql_table.5.gz
Konfiguration: Änderungen
Nachfolgende Einstellungen haben sich geändert und werden standardmäßig deshalb in einem „abwärts kompatiblem Modus“ betrieben.
append_dot_mydomain
ACHTUNG - Der Standardwert von append_dot_mydomain
wurde von yes
auf no
geändert!
Parameter | Beschreibung |
---|---|
append_dot_mydomain | Standard: Postfix ≥ 3.0: no , Postfix < 3.0: yes . Fügt bei lokal übermittelten E-Mails die Zeichenfolge .$mydomain an Adressen an, die keine .domain -Informationen enthalten. Bei entfernt übermittelten E-Mails wird stattdessen die Zeichenkette .$remote_header_rewrite_domain angefügt. Hinweis 1: Diese Funktion ist standardmäßig deaktiviert. Wenn deaktiviert, können Benutzer keine E-Mails an „user@partialdomainname“ senden, sondern müssen stattdessen vollständige Domainnamen angeben. Hinweis 2: Mit Postfix Version 2.2 erfolgt das Umschreiben der Adresse des Nachrichtenkopfes nur dann, wenn eine der folgenden Bedingungen erfüllt ist: Die Nachricht wird mit dem Befehl Postfix sendmail empfangen,Die Nachricht wird von einem Netzwerk-Client empfangen, der mit $local_header_rewrite_clients übereinstimmt,Die Nachricht wird vom Netzwerk empfangen, und der Parameter remote_header_rewrite_domain gibt einen Nicht-Leerwert an. Um das Verhalten vor Postfix Version 2.2 zu erhalten, muss local_header_rewrite_clients = static:all angegeben werden. Siehe auch: http://www.postfix.org/postconf.5.html#append_dot_mydomain |
Dies kann zu einer unerwarteten Nichtzustellung von E-Mails führen, nachdem Postfix von einer älteren Version aktualisiert wurde. Das abwärts „compatibility_level“ soll solche Überraschungen verhindern.
Solange der Parameter append_dot_mydomain
auf seinem impliziten Standardwert belassen wird und die Einstellung „compatibility_level“ kleiner als 1 ist, kann Postfix eine der folgenden Meldungen protokollieren:
- Meldungen über fehlende „localhost“ in mydestination oder einer anderen Adressklasse:
postfix/trivial-rewrite[14777]: using backwards-compatible default setting append_dot_mydomain=yes to rewrite "localhost" to "localhost.example.com"; please add "localhost" to mydestination or other address class
Wenn Postfix die obige Meldung protokolliert, ist eine mögliche Lösung „localhost“ zu mydestination (oder virtual_alias_domains, virtual_mailbox_domains oder relay_domains) hinzuzufügen und den Befehl
# systemctl reload postfix.service
auszuführen.
- Nachrichten über unvollständige Domains in E-Mail-Adressen:
postfix/trivial-rewrite[25835]: using backwards-compatible default setting append_dot_mydomain=yes to rewrite "foo" to "foo.example.com"
Wenn Postfix die obige Meldung für andere Domains als „localhost“ protokolliert und der Absender nicht so geändert werden kann, dass er den vollständige Domainnamen in E-Mail-Adressen verwendet, dann sollte die Abwärtskompatibilät in der Konfigurationsdatei
/etc/postfic/main.cf
auf
append_dot_mydomain = yes
mit nachfolgendem Befehl, dauerhaft eingestellt werden.
# postconf append_dot_mydomain=yes
oder
# Enable appending .$mydomain to e-mail adresses without domain(.tld) part(s). append_dot_mydomain = yes
Anschließend muss die geänderte Konfiguration mit nachfolgendem Befehl neu eingelesen werden:
# systemctl reload postfix.service
mynetworks_style
ACHTUNG - Der Standardwert von mynetworks_style
wurde von subnet
auf host
geändert!
Parameter | Beschreibung |
---|---|
mynetworks_style | Standard: Postfix ≥ 3.0: host , Postfix < 3.0: subnet Das Verfahren zum Erzeugen des Standardwertes für den Parameter mynetworks . Dies ist die Liste der vertrauenswürdigen Netzwerke für die Zugangskontrolle von Relais usw. mynetworks_style = host , wenn Postfix nur dem lokalen Rechner „vertrauen“ soll. mynetworks_style = subnet , wenn Postfix entfernten SMTP-Clients in denselben IP-Subnetzwerken wie dem lokalen Rechner „vertrauen“ soll. Unter Linux funktioniert dies nur mit Schnittstellen, die mit dem Befehl ifconfig angegeben wurden. mynetworks_style = class , wenn Postfix entfernten SMTP-Clients in denselben IP-Klasse-A/B/C-Netzwerken wie dem lokalen Computer „vertrauen“ soll. Achtung - Dies kann dazu führen, dass Postfix dem Netzwerk des gesamten Providers „vertraut“. Stattdessen sollte eine explizite mynetworks -Liste angelegt werden, wie im Konfigurationsparameter mynetworks beschrieben. Siehe auch: http://www.postfix.org/postconf.5.html#mynetworks_style |
Mit diesem Parameter wird die Funktion permit_mynetworks
implementiert. Die Änderung könnte zu unerwarteten access denied
Fehlern führen, nachdem Postfix von einer älteren Version aktualisiert wurde. Das abwärts „compatibility_level“ soll solche Überraschungen verhindern.
Solange die Parameter mynetworks
und mynetworks_style
auf ihren impliziten Standardwerten belassen werden und die Einstellung „compatibility_level“ kleiner als 2 ist, kann der Postfix SMTP-Server eine der folgenden Meldungen protokollieren:
postfix/smtpd[17375]: using backwards-compatible default setting mynetworks_style=subnet to permit request from client "foo.example.com[10.1.1.1]"
postfix/postscreen[24982]: using backwards-compatible default setting mynetworks_style=subnet to permit request from client "10.1.1.1"
Soll die Client-Anfrage nicht abgelehnt werden, dann sollte die Abwärtskompatibilät in der Konfigurationsdatei
/etc/postfic/main.cf
auf
mynetworks_style = subnet
mit nachfolgendem Befehl, dauerhaft eingestellt werden.
# postconf mynetworks_style=subnet
oder
# Set to "trust" remote SMTP clients in the same IP subnetworks as the local machine. mynetworks_style = subnet
Anschließend muss die geänderte Konfiguration mit nachfolgendem Befehl neu eingelesen werden:
# systemctl reload postfix.service
relay_domains
ACHTUNG - Der Standardwert von relay_domains
wurde von $mydestination
auf einen leeren Wert geändert!
Parameter | Beschreibung |
---|---|
relay_domains | Standard: Postfix ≥ 3.0: leer , Postfix < 3.0: $mydestination Definiert an welche Zieldomänen (und Subdomänen davon) dieses System E-Mails weiterleiten soll. Einzelheiten zur Verwendung des Wertes relay_domains sind in der Beschreibung der SMTP-Empfängerbeschränkungen permit_auth_destination und reject_unauth_destination zu finden. Domänen, die mit $relay_domains übereinstimmen, werden mit dem $relay_transport Mail Delivery Transport ausgeliefert. Der SMTP-Server validiert Empfängeradressen mit $relay_recipient_maps und lehnt nicht vorhandene Empfänger ab. Siehe auch die Adressklasse der Relaiy-Domänen in http://www.postfix.org/ADDRESS_CLASS_README.html. Hinweis - Postfix leitet E-Mails nicht automatisch an Domänen weiter, die dieses System als primären oder Backup-MX-Host angeben. Siehe auch permit_mx_backup Einschränkung in der postconf -Manualseite - man postfconf . Es können auch eine Liste von Host- oder Domänennamen, im /file/name -Mustern oder type:table -Suchtabellen, getrennt durch Kommas und/oder Leerzeichen angegeben werden. Lange Zeilen können fortgesetzt werden, indem die nächste Zeile mit Leerzeichen beginnen. Ein /file/name -Muster wird durch seinen Inhalt ersetzt; eine type:table -Suchtabelle wird verglichen, wenn eine (übergeordnete) Domäne als Nachschlagewerk erscheint. Es kann auch eine negation mit !pattern angegeben werden, um eine Domain aus der Liste auszuschließen. Das Definition !/file/name wird nur in Postfix ab Version 2.4 und höher unterstützt. Der Musterabgleich von Domänennamen wird durch das Vorhandensein oder Fehlen von relay_domains im Parameterwert parent_domain_matches_subdomains gesteuert. Siehe auch: http://www.postfix.org/postconf.5.html#relay_domains |
Dies kann zu unerwarteten Fehlern Relay access denied
oder ETRN-Fehlern führen, nachdem Postfix von einer älteren Version aktualisiert wurde. Das abwärts „compatibility_level“ soll solche Überraschungen verhindern.
Solange der Parameter relay_domains
auf seinem impliziten Standardwert belassen wird und die Einstellung „compatibility_level“ kleiner als 2 ist, kann Postfix eine der folgenden Meldungen protokollieren.
- Meldungen über das Akzeptieren von E-Mails für eine entfernte Domäne:
postfix/smtpd[19052]: using backwards-compatible default setting relay_domains=$mydestination to accept mail for domain "foo.example.com" postfix/smtpd[19052]: using backwards-compatible default setting relay_domains=$mydestination to accept mail for address "user@foo.example.com"
- Meldungen über die Bereitstellung des ETRN-Dienstes für eine entfernte Domäne:
postfix/smtpd[19138]: using backwards-compatible default setting relay_domains=$mydestination to flush mail for domain "bar.example.com" postfix/smtp[13945]: using backwards-compatible default setting relay_domains=$mydestination to update fast-flush logfile for domain "bar.example.com"
Wenn Postfix weiterhin E-Mails für diese Domäne annehmen oder weiterhin ETRN-Dienst für diese Domäne bereitstellen soll, dann sollte die Abwärtskompatibilät in der Konfigurationsdatei
/etc/postfic/main.cf
auf
relay_domains = $mydestination
mit nachfolgendem Befehl, dauerhaft eingestellt werden.
# postconf 'relay_domains=$mydestination'
oder
# The relay_domains parameter restricts what destinations this system will relay mail to. relay_domains = $mydestination
Anschließend muss die geänderte Konfiguration mit nachfolgendem Befehl neu eingelesen werden:
# systemctl reload postfix.service
HINWEIS - Hochkomma sind wie oben angegeben erforderlich!
/etc/postfix/relay_domains
Anstelle von $mydestination
ist es besser, eine explizite Liste von Domainnamen anzugeben, auch wenn diese leer ist oder sein sollte, wie nachfolgendes Beispiel zeigt:
# Tachtler relay_domains = btree:/etc/postfix/relay_domains
WICHTIG - Zum Abschluss muss die Konfigurationsdatei in ein Datenbank-Format, z.B. das Format btree
mithilfe des Postfix eigenen Befehls postmap
umgewandelt werden, auch wenn diese leer ist oder sein sollte, wie nachfolgender Beispiel und Befehl zeigt:
# postmap btree:/etc/postfix/relay_domains
Anschließend sollte eine neue Datei mit dem Namen /etc/postfix/relay_domains.db
entstanden sein, was mit nachfolgendem Befehl überprüft werden:
# ls -l /etc/postfix/relay_domains* -rw-r--r-- 1 root root 0 Sep 28 2015 /etc/postfix/relay_domains -rw-r--r-- 1 root root 8192 Sep 28 2015 /etc/postfix/relay_domains.db
smtputf8_enable
ACHTUNG - Der Standardwert von smtputf8_enable
wurde von no
auf yes
geändert!
HINWEIS - Diese Funktion ist erst ab Postfix Version 3.0 verfügbar.
Parameter | Beschreibung |
---|---|
smtputf8_enable | Standard: ja Aktivieren Sie die vorläufige SMTPUTF8-Unterstützung für die in RFC 6531…6533 beschriebenen Protokolle. Dies setzt voraus, dass Postfix zur Unterstützung dieser Protokolle entwickelt wurde. Siehe auch: http://www.postfix.org/postconf.5.html#smtputf8_enable |
Mit der neuen Einstellung yes
lehnt der Postfix SMTP-Server Nicht-ASCII-Adressen von Clients ab, die keine SMTPUTF8-Unterstützung anfordern, nachdem Postfix von einer älteren Version aktualisiert wurde. Das abwärts „compatibility_level“ soll solche Überraschungen verhindern.
Solange der Parameter smtputf8_enable
auf seinem impliziten Standardwert belassen wird und die Einstellung „compatibility_level“ kleiner als 1 ist, protokolliert Postfix jedes Mal eine Warnung, wenn ein SMTP-Befehl einen lokalen Teil der Nicht-ASCII-Adresse verwendet, ohne die Unterstützung von SMTPUTF8 anzufordern:
postfix/smtpd[27560]: using backwards-compatible default setting smtputf8_enable=no to accept non-ASCII sender address "??@example.org" from localhost[127.0.0.1] postfix/smtpd[27560]: using backwards-compatible default setting smtputf8_enable=no to accept non-ASCII recipient address "??@example.com" from localhost[127.0.0.1]
Wenn die Adresse nicht abgelehnt werden soll und der Client nicht für die Verwendung von SMTPUTF8 aktualisiert werden kann, dann sollte die Abwärtskompatibilät in der Konfigurationsdatei
/etc/postfic/main.cf
auf
smtputf8_enable = no
mit nachfolgendem Befehl, dauerhaft eingestellt werden.
# postconf smtputf8_enable=no
oder
# Do NOT reject non-ASCII addresses from clients that don't request SMTPUTF8 support. smtputf8_enable = no
Anschließend muss die geänderte Konfiguration mit nachfolgendem Befehl neu eingelesen werden:
# systemctl reload postfix.service
chroot
ACHTUNG - Der Standardwert in der master.cf
- Spalte: chroot
wurde von y„
(ja) auf n
(nein) geändert!
HINWEIS - Die Spalte: chroot
war unter CentOS-7 bereits komplett auf n
(nein) gesetzt!
Der neue Standard vermeidet das Kopieren von Systemdateien unter dem Postfix-Warteschlangenverzeichnis. Server mit strengen Sicherheitsanforderungen können jedoch die Chroot-Funktion nach dem Update von Postfix von einer älteren Version aktiviert lassen. Das abwärts “compatibility_level„ ist so konzipiert, dass gewählt werden kann, ob er das alte Verhalten beibehalten werden soll.
Solange die Spalte: chroot
in der master.cf
auf seinem impliziten Standardwert belassen wird und die Einstellung “compatibility_level„ kleiner als 1 ist, kann Postfix die folgende Meldung protokollieren, während dieser die Konfigurationsdatei master.cf
einliest:
postfix/master[27664]: /etc/postfix/master.cf: line 72: using backwards-compatible default setting chroot=y
Wenn der jeweilige Dienst chroot
bleiben soll, dann sollte die abwärts kompatible Einstellung chroot = y
in der Konfigurationsdatei master.cf
dauerhaft gesetzte werden. Nachfolgendes Beispiel zeigt, wie die chroot
-Einstellung für den Dienst smtp inet
zu aktivieren wären:
Für die Konfigurationsdatei
/etc/postfic/master.cf
kann mit nachfolgendem Befehl, dies dauerhaft eingestellt werden.
# postconf -F smtp/inet/chroot=y
oder
smtp inet n - y - - smtpd
Anschließend muss die geänderte Konfiguration mit nachfolgendem Befehl neu eingelesen werden:
# systemctl reload postfix.service
backwards-compatibility safety net
HINWEIS - Diese Funktion ist erst ab Postfix Version 3.0 verfügbar.
Parameter | Beschreibung |
---|---|
compatibility_level | Standard: 0 Ein Sicherheitsnetz, das Postfix nach einem Upgrade auf eine neuere Postfix-Version mit abwärts kompatiblen Standardeinstellungen laufen lässt. Siehe auch: http://www.postfix.org/postconf.5.html#compatibility_level |
Die Abwärtskompatibilität wird durch Aktualisieren der Einstellung compatibility_level
in der Konfigurationsdatei
/etc/postfic/main.cf
auf
compatibility_level=N
mit nachfolgendem Befehl, dauerhaft eingestellt.
# postconf compatibility_level=N
oder
# The level below is what should be used with new (not upgrade) installs. compatibility_level = N
Anschließend muss die geänderte Konfiguration mit nachfolgendem Befehl neu eingelesen werden:
# systemctl reload postfix.service
Für N wird die Nummer angegeben, die in der postfix
-Warnmeldung ausgegeben wurde:
warning: To disable backwards compatibility use "postconf compatibility_level=N" and "postfix reload"
HINWEIS - Server, die sich nicht um Abwärtskompatibilität kümmern (wollen), können mitcompatibility_level = 9999
-
auf eigenes Risiko - konfiguriert werden!.