为什么 Nginx 的新文件权限会取代我的默认 ACL

为什么 Nginx 的新文件权限会取代我的默认 ACL

我在使用 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 创建一些目录时,我的用户无法访问它。创建的目录不会继承默认掩码,而是使用“---”,导致我的 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::---

我在这里遗漏了什么?

相关内容