Linux

與 Apache 共享主機的 Unix / linux 權限設置

  • January 16, 2011

我正在從乾淨的 CentOS 5 安裝中設置伺服器。為多個使用者執行單個 apache 實例的最佳權限結構(使用者、組、unix 權限)是什麼?理想情況下,它應該滿足以下要求:

  • 每個使用者的網站都儲存在其主目錄的子目錄中。使用者可以編輯文件和權限。
  • Apache 可以讀取所有使用者的網站。
  • 沒有使用者可以讀取其他使用者的網站文件。

額外問題:如何在不允許任何使用者訪問任何其他使用者文件的情況下將 PHP 和/或 Perl 和/或 Ruby 添加到 Apache?

這就是我所做的:

  1. chown 使用者名:www-data website_dir
  2. chmod g+s website_dir # 這使得該目錄中的新文件/目錄由 www-data 使用者(標準 Debian 網路伺服器使用者)擁有
  3. 然後任何使用者創建的組可讀文件都可以被網路伺服器訪問,如果使用者希望目錄/文件也可以被網路伺服器寫入(如配置/上傳等),使用者可以執行 chmod g+w

不利的一面是使用者 www-data 執行所有腳本,因此使用者可以使用 php/ruby/perl/無論在網路伺服器上執行什麼來獲取另一個使用者數據。

下一步將使用 mod_suphp 或 mod_suexec 之類的東西來執行具有該使用者權限的使用者腳本。

引用自:https://serverfault.com/questions/222943