
Estou usando um servidor web nginx com cache fastcgi. O fastcgi_cache_path é definido como um subdiretório do webroot de cada host virtual do nginx. (por exemplo, /var/html/user01/httpdocs/nginx_cache ... /var/html/user02/httpdocs/nginx_cache.
O cache em si funciona bem, como posso ver nos cabeçalhos de resposta (x-cache hit) e nos dados salvos nos diretórios nginx_cache.
Então, quando olho para os diretórios nginx_cache, vejo que o proprietário é sempre nginx. O que eu queria fazer é definir permanentemente as permissões (leitura/exclusão) para os usuários (user01, user02, ...) para sua pasta nginx_cache.
O que eu já tentei: - alterar recursivamente todos os direitos para user0x (será substituído pelo nginx para alterações e novos arquivos) - procurar uma configuração nginx (encontrei apenas nginx_store_access que também não funciona)
Como posso resolver esse problema?
Responder1
Primeiro, você não deve armazenar a pasta de cache na raiz da web /var/www/html/user01/httpdocs
, pois assim você estará tornando o conteúdo do cache público para todos os visitantes da web. Mova-o para /var/www/html/user01
o nível, então o conteúdo não estará acessível.
No que diz respeito às permissões de arquivo, você pode tentar aplicar uma ACL ao diretório de cache como o seguinte:
setfacl -d -m u:user01:rw ngx_cache
Isso atribui uma ACL ao ngx_cache
diretório que torna todos os arquivos dentro do diretório de cache legíveis e graváveis por user01
.