以不同的用户身份从网站执行tcl脚本

时间:2013-03-13 21:03:40

标签: php web tcl

我正在建立一个将在后台运行tcl脚本的网站。

我有很少的tcl脚本,我想从我的网站上调用并执行它。我正在Linux / Apache服务器中使用PHP设计页面。我很少有用户会执行这些脚本,但这些脚本应该以该用户而不是webuser(_www)执行,因为tcl脚本会自动将报告最终发送给执行它的用户。

我认为一个选项是更改用户(su)然后通过shell_exec执行脚本,但我看到了一些安全问题。

那么有更好的方法吗?

2 个答案:

答案 0 :(得分:1)

我将使用sudo执行脚本,您可以进行配置,以便您的WWW用户可以在其他用户下执行1个单一命令(您的tcl脚本)而无需密码。

有关sudo(特别是配置部分)的一些参考,请参阅this

答案 1 :(得分:0)

特定于Tcl的解决方案可能是将您的Tcl脚本构建到starpacks(单文件可执行文件)中,然后由您希望它们运行的​​用户自行设置set-set。这仅适用于您希望用户成为脚本所有者的情况,而不适用于通过Internet登录的其他用户。后一种情况很多难以正确处理(由于涉及的安全问题复杂),以至于人们部署整个应用程序基础架构来处理它。

您考虑过suEXEC吗?