Я новый администратор сервера, который использует CentOS 7, nginix и php-fpm. Существует веб-форма, которая должна прочитать локальный файл (prod.pem), а затем установить исходящее соединение:
gateway.push.apple.com:2195
gateway.sandbox.push.apple.com:2195
В журнале audit.log я вижу следующие 2 записи:
type=AVC msg=audit(1465918007.693:406): avc: denied { read } for pid=1796 comm="php-fpm" name="prod.pem" dev="dm-0" ino=19554
type=SYSCALL msg=audit(1465918007.693:406): arch=c000003e syscall=2 success=no exit=-13 a0=7fff2ee13570 a1=0 a2=1b6 a3=24 items=0 ppid=1213 pid=1796 auid=4294967295 uid=997 gid=996 euid=997 suid=997 fsuid=997 egid=996 sgid=996 fsgid=996 tty=(none) ses=4294967295 comm="php-fpm" exe="/usr/sbin/php-fpm" subj=system_u:system_r:httpd_t:s0 key=(null)
Мой /etc/selinux/config
:
SELINUX=enforcing
SELINUXTYPE=targeted
Как я могу настроить SELinux, чтобы разрешить чтение файла и исходящее соединение? Я также хочу убедиться, что они сохраняются при перезагрузках.
Это сделало это для меня:
setsebool -P httpd_read_user_content 1
setsebool -P httpd_can_network_connect 1
-P
делает его постоянным при перезагрузке.