Soluzione 1:
Nel mio caso, le altre risposte non mi hanno aiutato, perché avevo già correttamente il contesto per quei file. Anche se viene applicato il contesto corretto del file, dovrai anche assicurarti che l'utente Apache abbia l'autorizzazione SELinux per inviare mail .In particolare c'è una configurazione SELinux che deve essere attivata.
- Verifica se l'impostazione è attiva o disattiva:
getsebool httpd_can_sendmail
- Se hai
httpd_can_sendmail --> off
puoi abilitare questa impostazione in questo modo:sudo setsebool -P httpd_can_sendmail 1
-P nel comando precedente significa Persistente (tra i riavvii)
Soluzione 2:
Quasi sicuramente ha a che fare con SELinux. Scommetto che hai spostato il tuo main.cf in quella posizione.
Prova a eseguire restorecon -v /etc/postfix/main.cf
per correggere l'etichettatura.
Soluzione 3:
Questo è molto probabilmente correlato al controllo degli accessi di SELinux. CentOS ha la modalità "Enforcing" SELinux per impostazione predefinita. Controlla lo stato di SELinux con il comando:
# sestatus
Se l'output è qualcosa del genere:
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 24
Policy from config file: targeted
È necessario modificare il contesto di sicurezza per main.cf e probabilmente altri mosche di configurazione postfix. Sulla mia macchina è impostato su:
-rw-r--r--. root root system_u:object_r:postfix_etc_t:s0 /etc/postfix/main.cf
Prova questi per impostare il contesto corretto:
# chcon -v -u system_u -r object_r -t postfix_etc_t /etc/postfix/main.cf
# restorecon -v -R /etc/postfix/
Per verificare:
# ls -Z /etc/postfix/