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

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

Я использую веб-сервер nginx с кэшированием fastcgi. fastcgi_cache_path устанавливается в подкаталог webroot каждого виртуального хоста из 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, который тоже не работает)

Как я могу решить эту проблему?

решение1

Во-первых, не следует хранить папку кэша в корневом каталоге веб-сайта /var/www/html/user01/httpdocs, так как тогда вы делаете содержимое кэша общедоступным для всех посетителей веб-сайта. Переместите его на /var/www/html/user01уровень, тогда содержимое будет недоступно.

Что касается прав доступа к файлам, вы можете попробовать применить ACL к каталогу кэша следующим образом:

setfacl -d -m u:user01:rw ngx_cache

Это назначает ACL для ngx_cacheкаталога, что делает все файлы внутри каталога кэша доступными для чтения и записи user01.

Связанный контент