Eu tenho um problema com as permissões de arquivo que estão me deixando louco. Eu tenho um aplicativo web Perl que se instala, copiando alguns arquivos, criando DB e assim por diante. Tudo funciona bem, exceto por alguns arquivos de imagem. Estas imagens não são acessíveis pelo Apache:
(13) Permission denied: access to /path/to/image.gif denied
Mas, o arquivo é 644. Eu tentei chmod 777, e chown para o usuário do Apache, sem resultados positivos.
E o que me deixa louco: se eu copiar o arquivo, renomear o arquivo antigo e renomear o novo arquivo, ele funciona!
mv image.gif image.gif.bak
cp image.gif.bak image.gif
Os arquivos são idênticos, têm o mesmo tamanho, as mesmas permissões, o mesmo proprietário e o mesmo grupo. Eu posso ver ambos em um visualizador de imagens. Mas, se eu restaurar o arquivo original (remover o "novo" arquivo e renomear o arquivo "antigo" para o nome original), recebo novamente uma "permissão negada":
rm image.gif
mv image.gif.bak image.gif
Esse problema ocorre com todos os arquivos de imagem, mas não com arquivos de texto (estático html, css ...).
O que poderia estar causando esse comportamento estranho?
Estou usando o Apache 2.2.3 no CentOS 5.5. Scripts Perl (Perl 5.8.8) são executados com o Suexec.