
我正在使用 Apache2 部署 django 應用程序,我已將 apache2 設定為與 apache 不同的使用者。問題是,當伺服器運行時,使用者發生了變化,但是主目錄環境變數($HOME)仍然是/root。
答案1
我不是 Linux/Unix 內部的專家,但我認為更改有效用戶 ID 的系統呼叫不會更改任何環境變數。
只有當新進程被 exec()'d 或 spawn()'d 時(即,當您啟動 Apache 時),才會涉及環境變數。
您可以編寫一個小包裝腳本將 $HOME 設定為另一個值,然後啟動 Apache。如果您使用的是 Debian,則只需修改 /etc/init.d/apache2 即可。