Influenciando o tratamento de permissões no Fedora com o Gimp?

0

Estou incluindo algumas imagens em um site, digitalizando um monte de pastas na minha máquina local para imagens via PHP e gerando automaticamente o código HTML necessário ( <img...> ). Mas o navegador não mostra as imagens, em vez disso - seguindo o link para a imagem - "Proibido: você não tem permissão para acessar ...".

As permissões são definidas para 755 (pastas) e 644 (arquivos). Quando eu abro as imagens no Gimp e as salvo como novos arquivos, o navegador irá mostrá-las, mesmo que eu não tenha mudado nada; apenas abrindo e salvando. O problema é que tenho centenas de fotos e não quero continuar abrindo cada foto individualmente. O novo arquivo e o arquivo original têm as mesmas permissões. Veja a prova: O arquivo com o sublinhado no final funciona (Baummarder Mai 14_.JPG). O resto não.

Para ser claro: tenho imagens funcionais e não funcionais na mesma pasta. Os que eu salvei como novos arquivos com o Gimp são mostrados enquanto os originais (na mesma pasta) mostram a imagem padrão de "acesso negado".

Error_log diz:

(13)Permission denied: [client 127.0.0.1:38192] AH00035: access to /auwaldstation/quiz/Wildkamera/Bilder/Wildschwein/SchweinCdy00008.JPG denied (filesystem path '/var/www/html/auwaldstation/quiz/Wildkamera/Bilder/Wildschwein/SchweinCdy00008.JPG') because search permissions are missing on a component of the path, referer: http://localhost/auwaldstation/quiz/wildkamera_bilder.php

Mesmo que o caminho de arquivo complete esteja definido como 755.

(Não se preocupe que é um arquivo diferente em uma subpasta diferente - permissões e forma de incluí-lo na página é o mesmo)

Estou muito curioso sobre qual pode ser o problema. Poderia ser devido a metadados? Eu verifiquei aqueles, mas não consegui encontrar nada óbvio. É possível que esses arquivos estejam de alguma forma danificados ou possuam metadados / cabeçalho errados ou qualquer coisa que possa evocar tal comportamento? É um bug / recurso estranho de manipulação de permissões, ou seja, arquivos que eu não criei não são de minha propriedade?

Existe alguma maneira de resolver esse problema? É possível mostrar essas imagens mesmo usando alguma magia PHP?

UPDATE : Acabei de descobrir que o seguinte código PHP não reconhece as imagens originais como imagens. Os recém-criados reconhecem como imagens.

function is_image($path)
{
    $a = getimagesize($path);
    $image_type = $a[2];

    if(in_array($image_type , array(IMAGETYPE_GIF , IMAGETYPE_JPEG ,IMAGETYPE_PNG , IMAGETYPE_BMP)))
    {
        return true;
    }
    return false;
}

Btw: as fotos são tiradas por uma câmera de trilha. Não há conflito de direitos autorais envolvido.

Usando: Fedora 23, Apache 2.4.23, PHP, HTML / CSS

    
por Mathias Heinze 03.02.2017 / 09:21

1 resposta

2

A solução tinha a ver com o contexto do SELINUX. Mudou o contexto via chcon. Agora funciona. link

    
por 03.02.2017 / 13:24