需要帮助使用 ISPConfig 修复文件/目录所有权

需要帮助使用 ISPConfig 修复文件/目录所有权

我刚刚按照此处的官方指南安装了 Ubuntu Server 16.04.3 和 ISPConfig 3.1:https://www.howtoforge.com/tutorial/perfect-server-ubuntu-16.04-with-apache-php-myqsl-pureftpd-bind-postfix-doveot-and-ispconfig/

一切按预期运行,但我遇到了文件/目录所有权问题。为了解释这个问题,我需要写一个例子:

  • 用户上传一个 PHP 脚本,允许网站访问者上传图像/images/
  • 用户必须 chmod /images/0777,否则当某些访问者尝试上传图像时,PHP 脚本将返回权限被拒绝错误。

/images/当使用 检查目录的内容时ls -l images,它会返回:

-rw-r--r-- 1 www-data www-data 69455 Dec 12 13:03 755675678.tmp

本例中的.tmp文件是使用chmod 0777上传的文件。这表明该脚本是由www-data执行的。

但是,当使用 检查目录本身时ls -l,它会返回:

drwxr-xr-x 2 web1 client1  4096 Dec 12 13:03 images

所以这就解释了为什么目录需要是 0777,www-data 才能写入它。不过,在做了进一步调查后,我使用以下命令检查了 client1 组:

getent group client1 | awk -F: '{print $4}'并返回:www-data

这时我迷路了。我对 Linux 和 Ubuntu 还很陌生。我不明白这些组和这些组的成员是如何工作的。但在我看来,www-data 拥有所需的所有权限似乎是合乎逻辑的,因为它是 client1 的成员。不过,我可能完全错了,所以如果有人能向我解释为什么我会遇到这个问题以及如何解决它,我将不胜感激 :)

相关内容