0

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

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

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

那么有没有更好的方法呢?

4

2 回答 2

1

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

有关 sudo 的一些参考资料,请参阅this (尤其是配置部分)

于 2013-03-13T22:16:34.417 回答
0

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

你考虑过suEXEC吗?

于 2013-03-14T05:56:16.767 回答