【发布时间】:2015-07-07 01:10:18
【问题描述】:
我有一个托管多个网站的 Ubuntu 系统。每个网站的DocumentRoot 文件夹是独立的并且有不同的用户。路径是这样的:
/<path_from_root>/websites/websiteA
/<path_from_root>/websites/websiteB
假设各自的用户是 userA 和 userB。虽然 userB 没有对文件夹 websiteA 的读取权限,但 apache 用户确实有权限。 userB 可以简单的在他的目录下写一个这样的php文件:
<?php
$x=file_get_contents('../websiteA/config.php');
echo $x;
?>
此文件会将 config.php 文件公开给 userB。关键问题是 apache 需要对运行 Web 服务的两个文件夹具有读取权限,但 userB 可以利用此权限访问 userA的文件。如何防止这种情况发生?
【问题讨论】:
-
如果我没记错的话,每个
<VirtualHost>都应该有一个配置选项,告诉它在哪个用户下运行它。 -
documentation of apache 没有提及任何此类选项。
-
没关系,我把它和 nginx 搞混了。
标签: php apache apache2 httpd.conf