我目前正在开发一个设备并尝试授予用户重新启动托管它的服务器的可能性。
有什么方法可以让 apache 有权这样做吗?
我尝试在单击提交按钮时执行此代码:
<?php exec('/sbin/reboot'); ?>
但它说只有root才能做到。
所以,我尝试在 sudoers 文件中添加它:
nobody ALL = NOPASSWD: /sbin/reboot
而且我仍然收到此错误,这使我无法从 PHP 重新启动服务器。
php 使用的角色是 apache。
我也试过使用
shutdown -r
现在得到了同样的问题。有没有办法做到这一点?我见过几个允许这样做的系统,但我不知道他们是如何做到的......
谢谢。
最佳答案
不太熟悉你在做什么,但我确实注意到了这一点:
你说:nobody ALL = NOPASSWD: /sbin/reboot
...The role php is using is apache.
所以你不应该在 sudoers 文件中说:
apache
ALL = NOPASSWD: /sbin/reboot
关于php - 从 PHP 重启 CentOS 服务器? (不是php服务而是服务器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16522672/