我一直在試圖弄清楚如何做到這一整天。以另一個用戶身份運行shell命令或更改Apache的用戶?
簡短的版本:我使用PHP了shell_exec函數來管理一些虛擬機,到目前爲止,因爲Apache是由用戶WWW的數據和VirtualBox的用戶vboxuser
從運行我不能這樣做什麼我讀過目前爲止,我已經想到了3種可能的解決方案: 1.-在我的vboxuser上創建一個腳本,我可以從php調用它來管理虛擬機。 2.-將apache用戶從www-data更改爲vboxuser,這樣我就可以通過php管理虛擬機 3.-重新安裝VirtualBox,這次使用www-data作爲我的用戶。
我不確定這些是否有效,我不太確定哪個是最好的解決方案。任何建議/想法?
在此先感謝。
現在更長更詳細的版本:
我運行Ubuntu 10.04.2遠程服務器,該服務器我已成立的VirtualBox這樣我就可以運行WinXP中的幾個實例來執行不同的任務。
一切都安裝好了,我可以通過SSH管理虛擬機。如果我想以不同於創建它們的用戶(迄今爲止僅用於創建虛擬機的用戶)運行它們,則必須執行sudo -u vboxuser。
現在,我需要創建一個PHP腳本來管理這些虛擬機(我知道phpVirtualBox,但它不是我所需要的)。如果我嘗試從php運行使用shell_exec()的虛擬機,則根本沒有答案(並且我測試了shell_exec在我的服務器上工作)。