我目前正在开发一个设备,并试图授予用户重新启动承载该设备的服务器的可能性。
有没有办法给apache这样做的权利?
我尝试过,当点击提交按钮时,执行以下代码:
<?php exec('/sbin/reboot'); ?>
但是它说只有根可以做
所以,我试着在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