O Apache2 não consegue listar diretórios ou arquivos que não possuem o + r set

2

Eu tenho um servidor web Apache que estamos preparando para servir dados enviados via FTP / S para nossos clientes através do protocolo HTTPS mais conveniente. No momento, estou usando mod_authnz_external para permitir que os usuários se autentiquem, mas, uma vez autenticados, os usuários não podem ver os arquivos em seus diretórios pessoais, onde as permissões de 'outros' estão definidas como zero. Não sei por que esse é o caso, porque, se o usuário for autenticado, esperaria que eles pudessem ver seus próprios arquivos pertencentes a seu próprio usuário e grupo.

Para contornar o problema, também tentei adicionar o usuário do Apache 'www-data' a todos os grupos nomeados pelo usuário (como grupo secundário) que têm permissões para ler os arquivos em seu próprio diretório pessoal. No entanto, isso não permite que o usuário veja seus próprios arquivos quando estiver conectado ao site, embora eu possa visualizar os arquivos se eu obtiver acesso ao shell como 'www-data' e procurar o diretório inicial a partir do terminal.

Preciso saber o que posso estar fazendo de errado e como alcançar o resultado final de veicular o conteúdo do diretório pessoal do usuário por meio do Apache sem precisar conceder permissão a outras pessoas. Qualquer ajuda sobre isso é muito apreciada, obrigado.

    
por Bender the Greatest 02.07.2015 / 16:17

1 resposta

2

> _ < Eu sou um idiota ... Eu nunca reiniciei o serviço apache2 depois de adicionar www-data ao grupo de usuários. Então o processo para fazer este trabalho foi

usermod -aG user-group www-data
service apache2 restart

Tenha em mente que estou rodando isto no Debian 8, mas rodar o recarregamento da seguinte maneira parece funcionar sem ter que reiniciar o Apache, e sem terminar as conexões existentes:

service apache2 reload

A razão pela qual você tem que adicionar o usuário do Apache, no meu caso, 'www-data', a um grupo de usuários que tem permissão para ler o diretório é que o authnz_external apenas diz que o usuário tem permissão para acessar o servidor, tudo é ainda atravessado como 'www-data'.

    
por 02.07.2015 / 17:15