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 文檔根目錄/var/www/應用程式

每個都有不同的使用者/群組(www-數據www-應用程式分別),從而隔離面向公眾的網站可能發生的任何安全漏洞。

我遇到的問題是當我將每個 apache 實例的文檔根更改為指向:

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

如果我刪除 /var/www 上的“其他”讀取/執行權限,那麼 770 -- 在訪問映射到上面列出的每個文檔根的 URI 時,apache 會給出“Forbidden 403”錯誤。我不確定我明白為什麼......上面每個文件的 docroot 都有 775 權限

有人可以解釋為什麼我會遇到這個問題嗎?我不明白權限的工作原理是什麼? apache 配置都沒有指向 /var/www ,而是每個實例都指向其各自更深一層的目錄。

亞歷克斯

答案1

當存取一個目錄時,所有較高的目錄也至少需要該使用者(或群組)的執行權限,否則應用程式不允許切換到該目錄或該目錄以下的目錄。

相關內容