![目录和文件具有 775/644 权限,但 php 说它不可写?](https://linux22.com/image/611816/%E7%9B%AE%E5%BD%95%E5%92%8C%E6%96%87%E4%BB%B6%E5%85%B7%E6%9C%89%20775%2F644%20%E6%9D%83%E9%99%90%EF%BC%8C%E4%BD%86%20php%20%E8%AF%B4%E5%AE%83%E4%B8%8D%E5%8F%AF%E5%86%99%EF%BC%9F.png)
我认为这与文件夹的所有权有关,但我有一个 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