【问题标题】:Execute tcl script from website as different users以不同用户身份从网站执行 tcl 脚本
【发布时间】:2013-03-14 13:56:16
【问题描述】:

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

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

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

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

【问题讨论】:

标签: php web tcl


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    你考虑过suEXEC吗?

    【讨论】:

      猜你喜欢
      • 2014-11-24
      • 1970-01-01
      • 2022-01-17
      • 2013-06-06
      • 2011-03-10
      • 2018-01-16
      • 2015-07-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多