Lösung 1:
In meinem Fall haben mir die anderen Antworten nicht geholfen, da ich bereits den richtigen Kontext für diese Dateien hatte. Selbst wenn der richtige Kontext der Datei angewendet wird, müssen Sie auch sicherstellen, dass der Apache-Benutzer die SELinux-Berechtigung zum Senden von E-Mails hat .Insbesondere gibt es eine SELinux-Konfiguration, die aktiviert werden muss.
- Überprüfen Sie, ob die Einstellung aktiviert oder deaktiviert ist:
getsebool httpd_can_sendmail
- Wenn Sie
httpd_can_sendmail --> off
haben Sie können diese Einstellung folgendermaßen aktivieren:sudo setsebool -P httpd_can_sendmail 1
-P im obigen Befehl bedeutet Persistent (über Neustarts hinweg)
Lösung 2:
Fast sicher mit SELinux zu tun. Ich wette, Sie haben Ihre main.cf an diesen Ort verschoben.
Versuchen Sie, restorecon -v /etc/postfix/main.cf
auszuführen um die Beschriftung zu fixieren.
Lösung 3:
Dies hängt höchstwahrscheinlich mit der SELinux-Zugriffskontrolle zusammen. CentOS hat standardmäßig den SELinux-Modus "Enforcing". Bitte überprüfen Sie den Status von SELinux mit dem Befehl:
# sestatus
Wenn die Ausgabe etwa so aussieht:
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 24
Policy from config file: targeted
Sie müssen den Sicherheitskontext für main.cf und wahrscheinlich andere Postfix-Konfigurationsfliegen ändern. Auf meinem Rechner ist es eingestellt auf:
-rw-r--r--. root root system_u:object_r:postfix_etc_t:s0 /etc/postfix/main.cf
Versuchen Sie Folgendes, um den richtigen Kontext festzulegen:
# chcon -v -u system_u -r object_r -t postfix_etc_t /etc/postfix/main.cf
# restorecon -v -R /etc/postfix/
Zur Überprüfung:
# ls -Z /etc/postfix/