0

我有一个正在处理的项目,需要我使用 Web 界面管理(停止、启动、重新启动)脚本。该脚本在启动时作为 cron 作业启动。

问题是脚本必须以 root 访问权限运行。有没有办法用 PHP/Apache 安全地做到这一点?

如果不是,我该如何使用 Web 界面管理此脚本?

4

2 回答 2

0

您可以使用可执行文件来管理脚本并使用 shell_exec 从 PHP 页面运行该脚本。然后是需要将SETUID 作为root 的可执行文件。

在 Linux 中,这仅适用于本机可执行文件而不是 shell 脚本,请参阅此讨论: How to run a script with root authority in Linux

于 2013-07-26T00:54:10.703 回答
0

我无法让 shell_exec 方法工作,所以我在数据库中设置了一个表并使用 PHP 更新了该表中的一个值。我有一个 Python 看门狗,它使用 Cron 来检查该表中的值。如果它发现已经发送了脚本启动命令,它就会启动脚本,或者执行几个不同的动作之一。这很好用并且避免了使用有争议的SETUID,而且apache 不需要任何特殊权限。

于 2013-08-21T20:36:50.910 回答