2016-10-13 95 views
0

我使用Ubuntu服務器12.04來運行Apache2 Web服務器。Apache2服務器以特定用戶身份運行腳本

我承載了幾個網頁,大多數工作正常。

一頁運行CGI腳本,主要是工作(我有Python代碼的Apache外面工作很好地建立的HTML代碼。)

不過,我打電話家庭自動化程序(裕),並且返回當我在我的用戶帳戶中運行它時有不同的答案。

有沒有什麼辦法可以...

1電話從我的python腳本的裕程序作爲一個特定的用戶,(我),離開Python代碼,並單獨CGI代碼的休息嗎?

2,配置apache2運行cgi代碼作爲一個整體,與我一樣嗎?我想保留所有其他頁面不變。也許使用sites_available部分。

3,至少確定哪個用戶正在運行cgi代碼,所以也許我可以得到heyu與該用戶一致。

謝謝,馬克。

+0

對於#3,您應該可以使用''getpass import getuser'' – Shadow

+0

感謝工作的陰影。我能夠確定我的腳本正在使用用戶www-data。現在要用我的腳本來處理來自我的腳本的電話。 –

+0

然後我將它添加爲答案。如果您覺得它對您有所幫助,請隨時將其標記爲正確。 – Shadow

回答

0

它看起來像我可以使用suEXEC。

這是一個Apache模塊,默認情況下未安裝,因爲它們確實不希望您使用它。它可以使用apt-get方案進行安裝。

這就是說,我找到了我的問題的真正答案,heyu使用串行端口來完成它的工作。我需要將www數據添加到撥出組,然後重新啓動。

這樣就避免了需要像我一樣運行我的代碼(因爲很久以前我已經將我添加到撥出組),以便正確更改權限。

謝謝。

0

當您使用python時,您可以使用以下命令來提取用戶,指示python腳本運行爲;

from getpass import getuser 
print getuser() 

當你點擊的頁面,你會得到的用戶名,該腳本運行 - 你可以從那裏進行相應的調整特定用戶的權限。

相關問題