Linux
與 Apache 共享主機的 Unix / linux 權限設置
我正在從乾淨的 CentOS 5 安裝中設置伺服器。為多個使用者執行單個 apache 實例的最佳權限結構(使用者、組、unix 權限)是什麼?理想情況下,它應該滿足以下要求:
- 每個使用者的網站都儲存在其主目錄的子目錄中。使用者可以編輯文件和權限。
- Apache 可以讀取所有使用者的網站。
- 沒有使用者可以讀取其他使用者的網站文件。
額外問題:如何在不允許任何使用者訪問任何其他使用者文件的情況下將 PHP 和/或 Perl 和/或 Ruby 添加到 Apache?
這就是我所做的:
- chown 使用者名:www-data website_dir
- chmod g+s website_dir # 這使得該目錄中的新文件/目錄由 www-data 使用者(標準 Debian 網路伺服器使用者)擁有
- 然後任何使用者創建的組可讀文件都可以被網路伺服器訪問,如果使用者希望目錄/文件也可以被網路伺服器寫入(如配置/上傳等),使用者可以執行 chmod g+w
不利的一面是使用者 www-data 執行所有腳本,因此使用者可以使用 php/ruby/perl/無論在網路伺服器上執行什麼來獲取另一個使用者數據。
下一步將使用 mod_suphp 或 mod_suexec 之類的東西來執行具有該使用者權限的使用者腳本。