Linux

/var/www/ 中的 Apache 伺服器文件

  • July 12, 2012

好吧…我已經設置了伺服器,並且在 /var/www/ 中有 4 個站點。根據這篇文章,每個站點目錄及其下面的文件都是 root:www-pub :

在 /var/www 中處理 Apache 2 的使用者 www-data 權限的最佳方法是什麼?

根據上述文章的指示,我的使用者 cdog 是 www-pub 的一部分,經過更多研究,我相信 umask 設置正確。

**問題 1:**在任何 /var/www/ 目錄中創建新文件都會授予我權限

cdog:www-pub -rw-r--r--

所有其他文件都是

root:www-pub -rw-rw-r--

我被引導相信(根據上面的文章)創建的任何新文件都將是後者。

問題 2大部分目錄,權限為

drwxrwsr-x

是 Joomla 目錄。登錄到 Joomla 後端會給我一大堆不可寫的目錄,這對於更新/安裝擴展/外掛等不利。

首先,為什麼我的文件沒有使用正確的權限創建?其次,為什麼 Joomla 目錄不可寫?

使用者的umask決定了新文件接收的權限。創建文件或目錄時,系統以最允許的權限(分別為 0666 和 0777)啟動,然後清除umask 中指定的位。因此,預設的 umask 022 會導致組和世界寫入位被清除,這就是您最終得到 0644 的原因。

要創建具有組寫入權限的文件,您需要將 umask 更改為 002(即只清除世界寫入權限)。這可以在特定的 shell 會話中使用 來完成umask 002,但這不會在會話中持續存在。

有多種方法可以永久設置 umask。如果安裝並配置了pam_umask/etc/login.defs PAM 模組,您可以在以下位置進行設置:

UMASK   002

否則,您可以在 shell 初始化腳本中設置它,~/.bashrc如果您只希望它應用於您的使用者,或者/etc/bash.bashrc如果您希望它應用於所有使用者:

umask 002

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