2013-03-13 84 views
0

我正在構建一個將在後臺運行tcl腳本的網站。作爲不同的用戶從網站執行tcl腳本

我有幾個tcl腳本,我想從我的網站打電話並執行它。我在Linux/Apache服務器中使用PHP設計頁面。我很少有用戶會執行這些腳本,但這些腳本應該以該用戶而不是webuser(_www)執行,因爲tcl腳本最終會自動將報告發送給執行該腳本的用戶。

我認爲的一個選擇是更改用戶(su),然後通過shell_exec執行腳本,但是我發現一些安全問題。

那麼是否有更好的方法呢?

+0

[以不同用戶身份運行exec]的可能重複(http://stackoverflow.com/questions/4711609/running-exec-as-a-different-user) – 2013-03-13 21:25:29

回答

1

我想用sudo執行腳本,您可以進行配置,以便您的WWW用戶可以在其他用戶下執行1個單一命令(您的tcl腳本),而不需要密碼。

this有關sudo的一些參考(ESP配置部分)

0

一個Tcl-具體的解決方案,這可能是建立自己的Tcl腳本到starpacks - 單文件的可執行文件 - 你再使擁有和由用戶設置,你希望他們運行。這僅適用於希望用戶成爲腳本所有者的情況,而不是通過Internet登錄的其他用戶。後一種情況是很多難以正確(由於涉及到複雜的安全問題),所以人們部署整個應用程序基礎結構來處理它。

你考慮過suEXEC嗎?