zoukankan      html  css  js  c++  java
  • 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
            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:这样配置服务器很不安全,还是需要寻求更安全的方法

  • 相关阅读:
    TD
    TD
    required
    Cookie
    cookie 与 session区别
    折线图
    <a>标签
    十六进制颜色表
    js获取当前页面的url网址信息
    stopPropagation() 方法
  • 原文地址:https://www.cnblogs.com/bo083/p/2806570.html
Copyright © 2011-2022 走看看