Назад | Перейти на главную страницу

Пользователь пула PHP-FPM не может отправлять почту, отказано в разрешении

Один из моих сценариев обслуживания веб-сайта не может отправить почту ...

Я запускаю несколько веб-приложений на сервере CentOS8 с Apache 2.4, PHP 7.3, PHP-FPM и т. Д. И SELinux ЯВЛЯЕТСЯ принуждение. Чтобы еще больше усложнить ситуацию, чтобы должным образом изолировать разрешения для каждого сайта / приложения, PHP-FPM настроен для использования разных пользователей / групп для каждого из выделенных пулов. Это файл conf пула, связанный с этой проблемой ...

[files]

user = apache-files
group = apache-files
listen = /var/run/php-fpm/fileserver.sock
listen.owner = apache
listen.group = apache
listen.mode = 0660

listen.allowed_clients = 127.0.0.1

pm = ondemand
pm.max_children = 5
pm.process_idle_timeout = 10s
pm.max_requests = 200

request_terminate_timeout = 300

php_admin_value[memory_limit] = 256M

php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/sessions/fileserver

Прежде чем вы спросите ...

getsebool httpd_can_sendmail
httpd_can_sendmail --> on

Проблема в том, что похоже, что звонок поступает от apache-files user, который был создан PHP-FPM, но не распознается SELinux как синоним apache пользователь, и поэтому получает отказ в разрешении при попытке использовать Postfix ...

CROND[21866]: (apache-files) CMD (/srv/utilities/nc_remote_scan.sh)
postfix/sendmail[21867]: fatal: open /etc/postfix/main.cf: Permission denied

Я еще не разбираюсь в пользовательских политиках SELinux, но полагаю, что мне нужно создать одну, чтобы позволить этой (и двум другим пользователям аналогичного пула) отправлять почту? Может кто-нибудь пролить некоторый свет на это? Спасибо!