如何从php文件重启Linux

我在Linux系统上有一个brftv用户,并且我有运行nginx的www-data。

从终端我可以让我的brftv用户运行

sudo /sbin/reboot

自从我将以下内容添加到我的/ etc / sudoers文件的“ #user权限规范”部分后,它就可以正常工作:

brftv ALL=NOPASSWD: /sbin/halt, /sbin/reboot, /sbin/poweroff

www-data ALL=NOPASSWD: /sbin/halt, /sbin/reboot, /sbin/poweroff

但是当我的php文件运行以下代码时,什么也没发生

exec('nohup sudo -u brftv /sbin/reboot');

我将www-data行添加到上面的etc / sudoers中,以防在运行上述exec()时有必要(即使我以-u

brftv身份运行它,但我不是linux专家,只是认为更好是安全的)如果)。

运行exec()的php文件由www-data拥有,而chmod为777,因此所有文件都应具有从其执行的特权。

我尝试通过浏览器(我假设用户www-data运行)和从终端$运行php文件php myFile.php

-------------------更新-----------------

我做了这个

sudo chmod u s /sbin/reboot

这允许我系统上的所有用户在没有密码的情况下运行重新启动cmd。它可以工作,但我宁愿不让它保持打开状态,因此如果有人暗示我的问题是什么,那么使用/ etc /

sudoers的其他解决方案会更好。

我遵循了这个教程http://linux.byexamples.com/archives/315/how-to-shutdown-and-reboot-

without-sudo-password/,第二个例子几乎是我没有得到的为了我..

回答:

我可以在我的系统上运行此方法的唯一方法是通过像这样的家伙在/ sbin / reboot上更改chmod来“破解”它

http://linux.byexamples.com/archives/315/how-to-shutdown-and-reboot-without-

sudo-password/

须藤chmod u + s / sbin / reboot

我意识到这在许多情况下可能不是最佳选择,但是该mediaPlayer已被锁定,因此无论如何都无法访问任何终端。

以上是 如何从php文件重启Linux 的全部内容, 来源链接: utcz.com/qa/425772.html

回到顶部