目录和文件具有 775/644 权限,但 php 说它不可写?

目录和文件具有 775/644 权限,但 php 说它不可写?

我认为这与文件夹的所有权有关,但我有一个 php 应用程序正在尝试设置,但我无法安装它,因为它告诉我权限不正确。

我通过以下方式设置权限chmod 2775 /var/www/htdocs -R

然后我就这么做了chown developer:www-data /var/www/htdocs -R

做一个ls -la /var/www/htdocs我得到

-rw-r--r--  1 developer  www-data     1079 Apr  3 14:42 .htaccess
drwxr-sr-x 14 developer  www-data     4096 Apr  3 14:42 images
-rw-r--r--  1 developer  www-data    44512 Apr  3 14:42 index.php

但我仍然发现文件和文件夹无法从 php 安装文件中写入。有人能给我指出正确的方向吗?

答案1

它似乎在抱怨 /var/www/htdocs 以外的某个文件。目录content/cache/skins/someskin/styles/content/cache/skins/someskin/images/位于哪里?检查这些目录的权限。它是在那里安装文件吗? 我怀疑您以一个用户的身份提取了文件然后su交给sudo开发用户进行安装,而该用户可能没有这些文件的读取权限。

答案2

清单显示,您引用的文件归用户:developer 和组:www-data 所有。但这些文件只能由用户写入,而不能由组写入:

-rw-r--r--  1 developer  www-data     1079 Apr  3 14:42 .htaccess
drwxr-sr-x 14 developer  www-data     4096 Apr  3 14:42 images
-rw-r--r--  1 developer  www-data    44512 Apr  3 14:42 index.php

看起来应该是这样的:

-rw-rw-r--  1 developer  www-data     1079 Apr  3 14:42 .htaccess
drwxrwsr-x 14 developer  www-data     4096 Apr  3 14:42 images
-rw-rw-r--  1 developer  www-data    44512 Apr  3 14:42 index.php

对我来说,你好像在以下位置打错了:

chmod 2775 /var/www/htdocs -R

并且只做了:

chmod 2755 /var/www/htdocs -R

相关内容