www-data 无法创建文件,即使它拥有该文件夹

www-data 无法创建文件,即使它拥有该文件夹

我正在设置一个在基于 Debian 9.3 的 Docker 容器中运行的 Web 服务器,并且我正在尝试配置 tmp 文件夹,但我无法获取 www-data 在其中创建文件。

tmp 和所有子目录均由 www-data:www-data 所有,并尝试将所有内容设置为 777,但无济于事。我已以 www-data 身份登录,以确保无法创建文件。我没有安装 SELinux。如果文件已经存在 www-data 写入它没有问题。

www-data@8c22a401af40:/srv/www/is/app/tmp/cache/persistent$ ls -lah
total 16K
drwxrwxrwx  2 www-data www-data 4.0K Jan 31 21:37 .
drwxrwxrwx 20 www-data www-data 4.0K Jan 31 21:37 ..
-rwxrwxrwx  1 www-data www-data 2.8K Jan 31 19:08 myapp_cake_core_file_map
-rw-r--r--  1 www-data www-data    7 Jan 31 21:38 test


www-data@8c22a401af40:/srv/www/is/app/tmp/cache/persistent$ touch test2
touch: cannot touch 'test2': Permission denied

编辑:我忘了提及它,但我还设置了 777 并将所有父文件夹的所有权更改为 www-data 。

编辑2:输出root@8c22a401af40:/# getfacl -R /srv/www/

# file: srv/www//is/app/tmp
# owner: www-data
# group: www-data
user::rwx
group::rwx
other::rwx

所有 1271 个文件的输出都是相同的。

另外,在获得此输出时,我意识到我无法在家重现此问题。可以肯定的是,我在工作时通过 ssh 连接到我的机器,并从头开始重建容器,然后再次尝试并得到相同的结果。该机器运行 Debian 9,我的笔记本电脑运行 Mac OS 10.12。

Edit3:我在另一台运行 Debian 9 的机器上尝试过,但再次无法重现。我现在怀疑问题出在主机而不是我的 Docker 镜像上。

相关内容