Ubuntu 中的 Apache 和用户管理

Ubuntu 中的 Apache 和用户管理

我已经安装了 Ubuntu 10.1,并且已经设置了 Apache2。

我打算在这台机器上托管大约 4-5 个网站,所以我需要有一个用户来控制每个网站的文件/权限。

我添加了一个名为“site1”的用户来控制site1.com。

我知道我应该将 apache 配置中的根文件夹更改为 site1.com 的 /home/site1

但是 apache 服务器以 www-data 用户身份运行,而该用户不允许在 /home/site1 上执行操作。

如何将 www-data 的权限添加到必要的文件夹?

谢谢,

答案1

以下是我的做法。以 root 身份执行以下操作(假设site1已创建用户和主目录):

cd /home/site1
mkdir -m 0770 public_html
chown site1:www-data public_html
chmod g+s public_html

这将创建目录public_html并使其可由www-data组读取和写入。这应该允许 Apache 对其拥有完全访问权限。在那里创建的任何文件或目录也将归该www-data组所有,因为目录上设置了 SGID 位。

在 Apache 配置中创建/home/site1/public_html根目录site1.com。我认为将 Web 根目录放在子目录中/home/site1比放在/home/site1其本身中更好,这样可以防止site1用户的点文件和其他潜在敏感文件进入其中。

答案2

如果我理解正确的话,你需要更改

/home/site1

到 www-data?

如果是的话,你可以执行:

sudo chown -R www-data:www-data /home/site1

相关内容