失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > php调用apache apache调用php执行系统命令

php调用apache apache调用php执行系统命令

时间:2021-05-24 01:26:54

相关推荐

php调用apache apache调用php执行系统命令

一、为了可以通过apache调用php执行系统命令,需要首先赋予apache用户超级用户权限

赋予用户超级用户权限的方法

在/etc/sudoers中添加

apache ALL=(ALL) NOPASSWD: ALL

注:1、由于通过apache执行命令不通过tty,所以需要注释掉/etc/sudoers文件中的Defaults requiretty这行

否则会出现sudo: sorry, you must have a tty to run sudo的错误

2、修改完sudoers文件要确保该文件权限为440,否则会报错误

sudo: no valid sudoers sources found, quitting

添加一个例子

echo exec('/usr/bin/sudo /usr/bin/whoami 2>&1');

?>

如果上面执行完成,用浏览器调用php页面报出错误

unable to change to sudoers gid: Operation not permitted

那么可能需要关闭selinux

二、关闭selinux的方法如下

1 永久方法 – 需要重启服务器

修改/etc/selinux/config文件中设置SELINUX=disabled ,然后重启服务器。

2 临时方法 – 设置系统参数

使用命令setenforce 0

附:

setenforce 1 设置SELinux 成为enforcing模式

setenforce 0 设置SELinux 成为permissive模式

ps:这样配置服务器很不安全,还是需要寻求更安全的方法

如果觉得《php调用apache apache调用php执行系统命令》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。