请耐心听我说,这可能很难清楚地表达。
假设我有一个 VPS 帐户,我想转售,并在我的服务器上托管一群人,为他们提供自己的独立域。每个用户都应该能够通过 ftp 上传文件到他们的域。这里的问题是,Apache 喜欢以单个进程所有者(通常是 www-data)的身份运行,这会产生问题。我可以检查 /etc/apache2/envvars 以将用户/组更改为其他用户,但我需要每个用户都拥有对其自己文件夹的适当权限。并且需要以某种方式设置 Apache,使用户不必将文件夹/文件设置为可写入某个组,以便 PHP 可以写入它们(就像 WordPress 一样)。
对于多用户共享托管环境,我该如何设置才能以这种方式工作?
答案1
首先使用 apache2-mpm-itk 通过 VirtualHost 更改用户。定义一个用户及其虚拟主机,并将权限定义为 700。没有人可以读取其他用户的文件。Apache 在 VirtualHost 中创建的文件归用户所有,而不是 www-data 所有。
答案2
Apache Wiki 有一个页面讨论了这些问题以及一些解决方案。请参见此处: http://wiki.apache.org/httpd/PrivilegeSeparation