SELinux, geração de Satan

Pela segunda vez em 24 horas, tive um problema incomum causado pelas restrições que o SELinux coloca em um sistema. Desta vez, foi uma questão relativamente simples de ter um servidor apache conversando com um banco de dados externo.

Embora eu pudesse me conectar ao banco de dados sem problemas na linha de comando, ao tentar executar um script php para me conectar, receberia um erro de permissão negada me pedindo para verificar se a porta TCP estava aberta.

Acontece que o SELinux, em sua eterna hipervigilância, estava impedindo o httpd de se conectar a um servidor externo. Usando a função setsebools (como root, é claro), eu fui capaz de remediar isso

setsebool -P httpd_can_network_connect 1

Você pode verificar todas as outras coisas malucas que o SELinux está restringindo

getsebool -a

Ao trocar um dos SEbools, recomendo fortemente tail -Fpara /var/log/messagesque você possa acompanhar o que está acontecendo (pois o processo tende a demorar muito e me deixa nervoso)