从php关机 - 给予apache权限

时间:2011-12-13 22:25:38

标签: php linux apache

我正在使用带有Web界面(apache)的嵌入式Linux系统。基本上我需要为Web界面添加关机和重启功能。但是,我在运行时遇到了权限问题:

exec(“立即关机”)等...通过网页(即apache)进行呼叫时。

如何从apache中调用这些命令?

宁愿不必给apache完全root权限,但系统安全在我的情况下并不是一个大问题,所以如果这是唯一的方法,我该怎么做?

3 个答案:

答案 0 :(得分:2)

让Apache成为一个sudoer是一个危险的举动,我会避免它。我认为QID就此而言......最简单的解决方案是在root下设置一个每隔X秒运行一次的cron作业,并检查apache可以写入的目录中的文件。如果要关闭,请让apache添加该文件,并且cron脚本应该有一个触发器(a)删除文件并(b)重新启动计算机。

请注意,它会正确删除文件,并在测试时给自己一个相当长的cron延迟,否则服务器将不断重启,这将是一团糟。

答案 1 :(得分:1)

不知道这样做的好方法,我可以提供一个丑陋的黑客解决方案:编写一个以root身份运行并接受命令关闭系统的小守护进程,让你的PHP脚本通过合理的方式与守护进程通信 - 安全通道(用于定义合理;可能发送信号,可能写入守护程序监视的文件,也许只是网络套接字,等等。)

答案 2 :(得分:0)

你可以知道自己在做什么:

exec(“sudo ......

apache ALL =(ALL)NOPASSWD:ALL

相关问题