通过 PHP 执行根命令
我有一个 CentOS 5.7 Linux 服务器,并使用 php5.3.x。
在 pfSense 系统上,您可以使用 php 网页重新启动需要 root 权限的服务。
我正在尝试做类似的事情,我已经编写了一些php代码来执行shell命令。例如,要重新启动 sshd 服务,请执行以下操作:
<?php
exec('/sbin/service sshd restart');
?>
我试图通过exec函数执行该命令,但它需要root权限,但我们有一个apache用户权限。
我遇到了一些解决方案:
- “使用root用户运行apache”确实不安全。我不想那样做。
- “apache ALL=NOPASSWD:/sbin/service to /etc/sudoers”我试过了,但仍然有问题。
还有其他解决方案吗?感谢您的回答。
现在。。这很有趣。我尝试@refp帖子,它工作了我的本地ubuntu服务器。但是当我在我的cenOS vps服务器上尝试相同时。它不起作用,这是apache的错误日志“rm:无法删除'/var/lock/subsys/vsftpd':权限被拒绝”