Permissions
Apache2權限問題
我已將 DocumentRoot 更改為
/home/user/www
. 為了實現這一點,我剛剛更改了 /etc/apache2/sites-available/default 路徑的 2 次出現。/home/user/www 的權限是 0774。我已將 www-data 使用者添加到我的使用者組中,並且所有者
/home/user/www
是我自己的使用者和組(使用者:使用者)。我通過以下方式做到了:
sudo chmod -R 0774 www sudo chown -R user:user www sudo adduser www-data user
問題是 Apache 無法寫入該目錄。只有當我將 www-data 設置為所有者時它才能寫入,但如果我這樣做,我不能在目錄中寫入。
我已經通過以下方式測試了權限:
sudo -u www-data ls /home/user/www sudo -u www-data cat /home/user/www/some-file
它有效。
但是我擁有的 Wordpress
www
無法刪除或創建文件。有任何想法嗎?
使用 /var/www 的 www 目錄,所有者 www-data 和組 www-data,並將您的使用者添加到 www-data 組,您會更好。
首先,在 apache 配置中將 DocumentRoot 等改回 /var/www。
/var/www 目錄(以及其中的所有子目錄)應設置為 setgid,以便使用組 www-data 創建文件和目錄。
以下所有內容都應以 root 身份執行,或者使用 sudo 執行:
mkdir -p /var/www
如果您想保留 /home/user/www 中的任何文件,請立即將它們移動到 /var/www :
mv /home/user/www/* /var/www/
現在修復 /var/www 目錄的權限和所有權。
chown -R www-data:www-data /var/www chmod -R 775 /var/www find /var/www -type d -print0 | xargs -0r chmod g+s adduser user www-data
下次“使用者”登錄(或執行
newgrp www-data
)時,他們應該在 /var/www 中具有寫入權限順便說一句,如果你想讓“使用者”更容易找到網路文件,只需在他們的主目錄中創建一個符號連結:
ln -s /var/www/ /home/user/