Expor arquivo do diretório bloqueado para o usuário no Linux?

1

Estou executando um servidor da web no meu servidor (raiz virtual) onde um amigo pode hospedar sua própria página. Esta página está em seu diretório pessoal e o Apache está configurado de forma que VirtualHost esteja usando esse diretório como DocumentRoot . O access.log e o error.log para esse VirtaulHost estão localizados em /var/log/apache2 as VirtualHost arquivos específicos.

Tudo isso está funcionando bem - mas meu amigo não tem permissão para ler nada dentro de /var/log/apache2 , é claro.

Como posso conceder a ele permissões de leitura para esses arquivos sem expor mais nada em /var/log/ ?

(O ingênuo ln -s /var/log/apache2/friend.access.log em seu diretório pessoal não funcionou, de couse ...)

    
por Chris 20.10.2014 / 22:22

1 resposta

1

Para ler um arquivo em um sistema Unix, você precisa do bit de permissão x em todos os níveis do diretório pai e do bit de permissão r nesse arquivo. No seu caso, por exemplo, friend precisaria de x on /var , /var/log e /var/log/apache2 , além de r on /var/log/apache2/friend.access.log . Você poderia fazer isso por meio de ACLs se não quiser conceder a todos os usuários permissões para ler arquivos em /var/log , mesmo que eles tenham r de permissões nesse arquivo e saibam o caminho exato.

    
por 20.10.2014 / 22:48