Назад | Перейти на главную страницу

nginx fastcgi_cache_path доступ на запись для других пользователей

Я использую веб-сервер 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.