O SELinux está impedindo que o HTTPd grave no diretório. Use chcon
para alterar o contexto do arquivo de images/
para httpd_sys_rw_content_t
e, se isso permitir, use semanage
para torná-lo permanente.
Estou aprendendo php e estou tendo um problema ao escrever uma página de upload de arquivo. No docroot, tenho index.php (a página que chama fopen) e um diretório chamado "images", onde desejo que o arquivo temporário seja movido. No entanto, fopen falha com 'permissão negada' (vide / var / log / httpd / error_log). fopen é chamado solicitando uma gravação.
Eu vasculhei a rede e descobri que o problema estava com permissões no diretório de imagens. Primeiro alterei o proprietário do grupo do diretório para um grupo diferente de root e adicionei 'apache' a esse grupo. grupo tem permissão w no diretório. (Descobri que meu Apache estava rodando como usuário apache com
# ps aux| grep httpd
Isso falhou (deveria ter funcionado, não?)
Mais uma vez, eu fiz a chown de todas as imagens / dir pertencentes ao 'apache'. em vão.
E sim, reiniciei o servidor depois que cada uma das alterações acima foi feita.
obrigado,
Yati
PS: Minha reputação aqui não me permite responder dentro de 8 horas, então decidi editar aqui. Com a ajuda de Ignacio, o comando para alterar o contexto do SELinux do diretório images é:
# chcon -R -h -t httpd_sys_rw_content_t ./images
de dentro do docRoot.
obrigado novamente.