supondo que permissões e propriedades sejam aceitáveis, acredito que isso esteja relacionado a SELinux .
De maneira rápida e suja: ... supondo que você esteja recebendo Permissive durante a execução de getenforce , tente desabilitar SELinux executando setenforce 0 e acessar seu script novamente. Se funcionar, ele será SELinux , a partir daí você pode deixá-lo desativado (não recomendado) ou ligá-lo novamente executando setenforce 1 e verificar seu /var/log/audit/audit.log e trabalhar para a solução final.