0

我目前正在开发一个设备并尝试授予用户重新启动托管它的服务器的可能性。

有什么方法可以让 apache 有权这样做吗?

我尝试在单击提交按钮时执行此代码:

<?php exec('/sbin/reboot'); ?>

但它说只有root才能做到。

所以,我尝试在 sudoers 文件中添加它:

nobody ALL = NOPASSWD: /sbin/reboot

而且我仍然收到此错误,这使我无法从 PHP 重新启动服务器。

php 使用的角色是 apache。

我也试过shutdown -r现在使用并遇到同样的问题。

有没有办法做到这一点?我见过几个允许这样做的系统,但我不知道他们是如何做到的......

谢谢。

4

1 回答 1

1

不太熟悉你在做什么,但我确实注意到了这一点:

你说:

nobody ALL = NOPASSWD: /sbin/reboot

...

The role php is using is apache.

所以你不应该在 sudoers 文件中说:

apacheALL = NOPASSWD: /sbin/reboot

于 2013-05-13T13:01:54.970 回答