Я использую веб-сервер nginx с кешированием fastcgi. Fastcgi_cache_path устанавливается в подкаталог корневого веб-каталога каждого виртуального хоста из nginx. (например, / var / html / user01 / httpdocs / nginx_cache ... / var / html / user02 / httpdocs / nginx_cache.
Само кеширование работает нормально, как я могу видеть в заголовках ответов (попадание в x-cache) и сохраненных данных в каталогах 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
.