1、php.ini配置文件

打开PHP的配置文件,里面有一行 disable_function 的值,此处记录了禁止运行的函数,在里面将exec和shell_exec、system等函数删除。

2、权限问题

修改以后PHP可以运行部分命令了,但是部分外部程序和命令仍然不能运行。使用sudo返回失败。

运行:whoami 查看,Linux环境下php-fpm的运行角色是www。

修改sudoers文件

vi /etc/sudoers 

将www添加到文件中

## Allow root to run any commands anywhere
root ALL=(ALL) ALL

下面:

www ALL=(ALL) NOPASSWD:ALL

然后找到 Default requiretty 这一行,将其注释掉

# Default requiretty

ps:意思是 sudo 默认需要tty终端,注释掉就可以在后台执行了。

重启php-fpm、Nginx/Apache,这样PHP就可以在需要执行外部命令的时候使用sudo利用root的身份执行命令,而不会报错或者执行失败了。

Linux+Nginx/Apache下的PHP exec函数执行Linux命令的更多相关文章

  1. [笔记]linux下和windows下的 创建线程函数

    linux下和windows下的 创建线程函数 #ifdef __GNUC__ //Linux #include <pthread.h> #define CreateThreadEx(ti ...

  2. Nginx技巧——Nginx/Apache下禁止指定目录运行PHP脚本(转自运维之美)

    网站程序的上传目录通常是不需要PHP执行解释权限,通过限制目录的PHP执行权限可以提网站的安全性,减少被攻击的机率. 下面和大家一起分享下如何在Apache和Nginx禁止上传目录里PHP的执行权限. ...

  3. Nginx/Apache下如何禁止指定目录运行PHP脚本

    下面和大家一起分享下如何在Apache和Nginx禁止上传目录里PHP的执行权限. Apache下禁止指定目录运行PHP脚本 在虚拟主机配置文件中增加php_flag engine off指令即可,配 ...

  4. Linux下的crontab定时、执行任务命令详解 oracle 自动备份

    在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间.cron的配置文件称为&qu ...

  5. java sftp.exec无法执行mv命令

    编写java程序过程中,sftp上传下载建目录删除文件都可以,就是备份不行. 分析原因如下: 1.如果用的同一个用户,即sftp用户来通过 exec(ssh连接) 执行mv命令,那极有可能是在搭建sf ...

  6. 为何Apache下.htaccess不起作用,Linux、Windows详解

    可能出现下面这三种的错误可能性: 第一种:启用 rewrite 和 .htaccess 设置 rewrite设置:找到apache的配置文件httpd.conf文件,找到:#LoadModule re ...

  7. Linux 多线程环境下 进程线程终止函数小结(转)

    pthread_kill: pthread_kill与kill有区别,是向线程发送signal.,大部分signal的默认动作是终止进程的运行,所以,我们才要用signal()去抓信号并加上处理函数. ...

  8. [Linux] Nginx服务下统计网站的QPS

    单位时间的请求数就是QPS,那么在nginx服务的网站下,如果要统计QPS并且按从高到低排列,需要使用awk配合sort进行处理awk做的主要工作是把access每行日志按分隔符分开,然后循环每一行, ...

  9. 安装phpredisadmin linux nginx服务器下

    1.下载phpRedisAdmin:git clone https://github.com/ErikDubbelboer/phpRedisAdmin.git 2.cd phpRedisAdmin   ...

随机推荐

  1. Windows docker镜像文件无法删除

    最近刚开始玩docker,下载镜像之前没有修改docker的保存路径,因此默认存在了c:\programdata下面,导致C盘空间不足. 之后修改了保存路径之后( docker engin里加&quo ...

  2. 《C++深度解析》课程目录

    <C++深度解析>课程目录 第1课 - 学习 C++ 的意义 第2课 - C到C++的升级     第3课 - 进化后的const分析 第4课 - 布尔类型和引用 第5课 - 引用的本质分 ...

  3. [程序员代码面试指南]字符串问题-回文最少分割数(DP)

    问题描述 给定一个字符串,输出把它全部切成回文子串的最小分割数. 例:str="ACDCDCDAD",输出2. 解题思路 DP 存储结构 dp数组dp[len+1],dp[i]表示 ...

  4. win10家庭版启用远程桌面

    此电脑右键属性->远程设置->允许远程协助连接这台计算机 勾选 下载RDP Wrapper 地址:https://github.com/stascorp/rdpwrap/releases ...

  5. top、ps -ef、ps aux的区别及内容详解

    1.top和ps的区别 ps是静态查看进程--------top是动态(持续监控)进程 ps只是查看进程-----------top还可以监视系统性能,如平均负载,cpu和内存的消耗 2.ps -ef ...

  6. 【原创】K8S使用ceph-csi持久化存储之RBD

    一.集群和组件版本 K8S集群:1.17.3+Ceph集群:Nautilus(stables)Ceph-CSI:release-v3.1snapshotter-controller:release-2 ...

  7. 龙芯3a4000办公机安装软件及美化记录

    1.硬件平台: CPU:龙芯3a4000 Linux内核版本:4.19.90-1.lns7.2.mips64el 操作系统:Debian 10(buster) 使用过龙芯3a3000和3a4000两款 ...

  8. vulnhub靶机Os-hackNos-1

    vulnhub靶机Os-hackNos-1 信息搜集 nmap -sP 192.168.114.0/24 找到开放机器192.168.114.140这台机器,再对这台靶机进行端口扫描. 这里对他的端口 ...

  9. 转载:tensorflow slim模块用法

    https://www.cnblogs.com/hellcat/p/8058092.html

  10. 最新版PyCharm激活教程!有效期至2089年!

    Python的编译器有很多,像Pycharm.VsCode.Jupyter...哪个好用不做评价,各有各的优点!用过PyCharm的同学都知道,PyCharm有两大版本,专业版和社区版,专业版相当于社 ...