簡體   English   中英

Apache2服務器以特定用戶身份運行腳本

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM