我在使用 Nginx 和 php-fpm 在 Debian 10 上運行的網站上設定快取目錄的適當權限時遇到問題。
我有一個使用者“myuser”,其主頁是 /var/www/mydomain.tld 目錄的結構是:
drwxr-x--- 2 myuser myuser 4096 Jan 3 20:24 backups/
drwxrwx---+ 4 myuser myuser 4096 Jan 5 21:10 cache/
drwxr-x---+ 2 myuser myuser 4096 Jan 5 00:00 logs/
drwxr-x--- 5 myuser myuser 4096 Jan 3 20:27 public/
我配置了一個 fpm 池來使用該使用者並將 Nginx 新增到 myuser 的群組中。我還為群組添加了對快取目錄的寫入權限,以便 Nginx 可以在那裡寫入。最後,我在目錄上設定了一些 acl,以授予 myuser 對 Nginx 建立的檔案的寫入存取權限。
# file: var/www/domain.tld/cache
# owner: myuser
# group: myuser
user::rwx
group::rwx
other::---
default:user::rwx
default:user:myuser:rwx
default:group::rwx
default:mask::rwx
default:other::---
但是當Nginx建立一些目錄時,myuser無法存取它。創建的目錄不會繼承預設掩碼,而是使用“---”,從而使我的 acl 不起作用。
drwx------+ 3 nginx nginx 4096 Jan 6 18:55 3
drwx------+ 3 nginx nginx 4096 Jan 6 19:16 9
drwx------+ 3 nginx nginx 4096 Jan 6 18:55 d
# file: var/www/domain.tld/cache/d
# owner: nginx
# group: nginx
user::rwx
user:myuser:rwx #effective:---
group::rwx #effective:---
mask::---
other::---
default:user::rwx
default:user:myuser:rwx
default:group::rwx
default:mask::rwx
default:other::---
我在這裡缺少什麼?