Isso fez isso por mim:
setsebool -P httpd_read_user_content 1
setsebool -P httpd_can_network_connect 1
-P
torna persistente nas reinicializações.
Sou um novo administrador para um servidor que usa o CentOS 7, nginix e php-fpm. Existe um formulário web que precisa ler um arquivo local (prod.pem) e então fazer uma conexão de saída para:
gateway.push.apple.com:2195
gateway.sandbox.push.apple.com:2195
No audit.log, vejo as seguintes 2 entradas:
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)
Meu /etc/selinux/config
:
SELINUX=enforcing
SELINUXTYPE=targeted
Como posso configurar o SELinux para permitir a leitura do arquivo e fazer uma conexão de saída? Eu também quero ter certeza de que eles sejam mantidos nas reinicializações.
Isso fez isso por mim:
setsebool -P httpd_read_user_content 1
setsebool -P httpd_can_network_connect 1
-P
torna persistente nas reinicializações.