![](/img/trans.png)
[英]Why Apache2 (Ubuntu) run defferent with Apache(easyPHP server on Window)?
[英]Apache2 server run script as specific user
我正在使用Ubuntu服務器12.04運行Apache2 Web服務器。
我托管了幾個網頁,大多數都工作正常。
一頁正在運行一個大多數有效的cgi腳本(我在Apache外部運行python代碼,很好地構建了html代碼。)
但是,我正在調用一個家庭自動化程序(heyu),然后以用戶帳戶運行該程序時會返回不同的答案。
有辦法嗎...
1以特定用戶(我)的身份從我的python腳本調用heyu程序,而將其余的python代碼和cgi代碼放在一邊嗎?
2,配置apache2來運行cgi代碼,作為一個整體? 我想保持所有其他頁面不變。 也許使用sites_available部分。
3,至少確定哪個用戶正在運行cgi代碼,以便也許我可以讓heyu與該用戶保持一致。
謝謝馬克。
看來我可以使用suEXEC。
這是一個Apache模塊,默認情況下未安裝,因為他們確實不希望您使用它。 可以使用apt-get方案安裝。
就是說,我找到了問題的真正答案,heyu使用串口來完成工作。 我需要將www-data添加到撥出組中,然后重新啟動。
這就避免了像我一樣運行我的代碼的需要(很早以前我就已經將我添加到了撥出組中),以支持正確地更改權限。
謝謝。
就像您正在使用python一樣,您可以使用以下命令提取python腳本運行的用戶;
from getpass import getuser
print getuser()
當您點擊頁面時,您將獲得腳本運行時的用戶名-,然后可以從那里相應地調整該特定用戶的權限。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.