ywg 发表于 2015-8-3 07:49:39

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
  添加一个例子

  
  如果上面执行完成,用浏览器调用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:这样配置服务器很不安全,还是需要寻求更安全的方法
页: [1]
查看完整版本: apache调用php执行系统命令