我有一个项目,我正在工作,要求我管理(停止,启动,重新启动)一个脚本使用web接口。此脚本是作为启动时的cron作业启动的。
问题是脚本必须以根访问方式运行。是否有一种方法可以在某种程度上安全地使用PHP/Apache?
如果不是,我如何使用web界面来管理这个脚本?
发布于 2013-08-21 20:36:50
我无法让shell_exec方法工作,所以我在数据库中设置了一个表,并使用PHP更新了该表中的一个值。我有一个Python看门狗,它使用Cron来检查表中的值。如果它发现脚本开始命令已经发送,它会启动脚本,或者执行几个不同的操作之一。这样做很好,并且避免了有争议的SETUID的使用,apache不需要任何特殊的权限。
发布于 2013-07-26 00:54:10
您可以使用一个可执行文件来管理脚本,并使用shell_exec从PHP页面运行该脚本。然后,需要以SETUID作为根文件的可执行文件。
在Linux中,这只适用于本地可执行文件,而不是shell脚本,请参见下面的讨论:How to run a script with root authority in Linux
https://stackoverflow.com/questions/17870865
复制相似问题