Я пытаюсь настроить сервер postfix для реле smtp. Centos 5.5
Я следил http://mhawthorne.net/posts/postfix-configuring-gmail-as-relay.html но при попытке перезапустить или перезагрузить postfix я получаю ошибку FAILED.
Когда я делаю:
cat maillog
Я получил:
fatal: open /etc/postfix/main.cf: Permission denied
Вот что я пробовал:
chown postfix /etc/postfix/main.cf
chmod u+rwx /etc/postfix/main.cf
После этого делаю:
ls -l /etc/postfix/main.cf
Что дает мне:
-rwx------. 1 postfix anotheruser 27531 Apf 29 12:19 /etc/postfix/main.cf
Никаких кубиков. Та же ошибка. Я даже попытался временно выполнить chmod 777, но получил ту же ошибку.
Есть идеи по проблеме с разрешениями? Я предполагаю, что он запускает службу как пользователь postfix.
Спасибо
В моем случае другие ответы мне не помогли, потому что у меня уже был правильно контекст для этих файлов. Даже если применяется правильный контекст файла, вам также необходимо убедиться, что пользователь Apache имеет разрешение SELinux для отправки писем. В частности, необходимо включить конфигурацию SELinux.
getsebool httpd_can_sendmail
httpd_can_sendmail --> off
вы можете включить этот параметр следующим образом: sudo setsebool -P httpd_can_sendmail 1
-П в приведенной выше команде означает Стойкий (при перезагрузках)
Почти наверняка связано с SELinux. Держу пари, вы переместили свой main.cf в это место.
Попробуйте бежать restorecon -v /etc/postfix/main.cf
исправить маркировку.
Скорее всего, это связано с контролем доступа SELinux. CentOS по умолчанию имеет режим принудительного использования SELinux. Пожалуйста, проверьте статус SELinux с помощью команды:
# sestatus
Если на выходе получается что-то вроде этого:
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 24
Policy from config file: targeted
Вам нужно изменить контекст безопасности для main.cf и, возможно, других мух конфигурации постфикса. На моей машине установлено:
-rw-r--r--. root root system_u:object_r:postfix_etc_t:s0 /etc/postfix/main.cf
Попробуйте установить правильный контекст:
# chcon -v -u system_u -r object_r -t postfix_etc_t /etc/postfix/main.cf
# restorecon -v -R /etc/postfix/
Проверять:
# ls -Z /etc/postfix/