2013-03-13 83 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吗?