Apache 多个实例--权限问题

Apache 多个实例--权限问题

我这里有一个奇怪的情况...我在 debian 下设置了多个 Apache 实例:

  1. 默认安装保持原样 - 但已禁用并停止
  2. 自定义实例(apache2-apps)

这个想法是将每个实例作为不同的用户运行——默认的 apache 将运行第三方应用程序(WordPress、Drupal、OpenCart 等)

第二种是运行我们定制的内部应用程序,这些应用程序可以处理高度专有的数据......

这种设置背后的想法/希望是将应用程序与网站软件隔离开来——无需借助虚拟机(因为我已经在虚拟机中运行了),而且设置起来更容易、更安全?然后是 Apache VirtualHost 和/或 PHP CGI

无论如何...我遇到的问题是 /var/www 目录需要:

1. 755 permissions which make it readable by OTHER
 --- OR ----
2.I need to make www-data or www-apps an owner or group of this base directory.

我当前的文件结构如下:

/var
  /www (user/group: webmin => RWXRWX--X)
    /applications (user/group: www-apps)
    /websites (user/group: www-data)

这个设置让我相信我可以将默认的 apache 安装配置为 docroot/var/www/网站和 apache2-apps docroot/var/www/应用程序

每个都有不同的用户/组(www-数据www-应用程序) 从而隔离面向公众的网站可能发生的任何安全漏洞。

我遇到的问题是当我将每个 apache 实例的 docroot 更改为指向:

/var/www/applications
/var/www/websites

如果我删除 /var/www 上的“其他”读取/执行权限,即 770 -- 访问映射到上面列出的每个文档根目录的 URI 时,apache 会给我一个“禁止 403”错误。我不确定我是否理解为什么……上面每个文档根目录都有 775 权限

有人能解释一下我为什么会遇到这个问题吗?我不明白权限是如何工作的?两个 apache 配置都没有指向 /var/www,而是每个实例都指向其各自更深一层的目录。

亚历克斯

答案1

当访问某个目录时,所有较高级别的目录也至少需要该用户(或组)具有执行权限,否则应用程序不允许切换到该目录或该目录下的目录。

相关内容