Я использую веб-сервер nginx с кэшированием fastcgi. fastcgi_cache_path устанавливается в подкаталог корневого веб-узла каждого виртуального хоста из nginx. (например, / var / html / user01 / httpdocs / nginx_cache ... /var/html/user02/httpdocs/nginx_cache.
Само кеширование работает отлично, как я могу видеть в заголовках ответов (x-cache hit) и сохраненные данные в каталогах nginx_cache.
Поэтому, когда я смотрю на каталоги nginx_cache, я вижу, что владельцем всегда является nginx. Я хотел навсегда установить разрешения (чтение / удаление) для пользователи (user01, user02, ...) для своей папки nginx_cache.
Что я уже пробовал: - изменить рекурсивно все права на user0x (будут перезаписаны nginx для изменений и новых файлов) - поиск конфигурации nginx (найден только nginx_store_access, который также не работает)
Как я могу решить эту проблему?
Во-первых, Вы не должны хранить папку кэша под веб-корнем /var/www/html/user01/httpdocs
, с тех пор Вы обнародовали содержимое кэша для всех посетителей веб-сайта. Переместите его в /var/www/html/user01
уровень, затем содержание не доступно.
, Что приходит к полномочиям файла, Вы могли попытаться применить ACL к каталогу кэша как следующее:
setfacl -d -m u:user01:rw ngx_cache
Это присваивает ACL ngx_cache
каталог, который делает все файлы в каталоге кэша читаемыми и перезаписываемыми user01
.