nginx fastcgi_cache_path 其他使用者的寫入存取權限

nginx fastcgi_cache_path 其他使用者的寫入存取權限

我正在使用帶有 fastcgi 快取的 nginx 網路伺服器。 fastcgi_cache_path 設定為 nginx 中每個虛擬主機的 webroot 的子目錄。 (例如 /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

首先,您不應將快取資料夾儲存在 Web 根目錄下/var/www/html/user01/httpdocs,因為這樣您就將快取內容對所有 Web 訪客公開。將其移至/var/www/html/user01水平位置,內容將無法存取。

關於檔案權限,您可以嘗試將 ACL 套用至快取目錄,如下所示:

setfacl -d -m u:user01:rw ngx_cache

這會為目錄分配一個 ACL ngx_cache,使快取目錄中的所有檔案都可以由user01.

相關內容