php 如何禁止shell - CSDN
精华内容
参与话题
  • 今天发现在使用定时器的时候,执行一个shell脚本,打印日志正常,然后在系统中不能查到当前Shell脚本执行的结果。 因为使用的是Web程序,对于Shell调用这块也是新手。以前没有遇到过这种问题,只能靠猜了。 判断 ...

    问题

    今天发现在使用定时器的时候,执行一个shell脚本,打印日志正常,然后在系统中不能查到当前Shell脚本执行的结果。

    因为使用的是Web程序,对于Shell调用这块也是新手。以前没有遇到过这种问题,只能靠猜了。

    判断

    1、Shell脚本问题。

    验证方式:进入系统控制台,然后直接调用脚本,验证脚本正常。排除脚本本身问题。

    2、判断应该问题来自于权限

    验证方式:进入控制台,查看执行日志author.log。果然上面提示账号权限有问题。

    ls 查看Shell脚本信息,发现Web程序的用户和Shell脚本的权限用户不是同一个账号。将其修改为同一个账号,,再次启动程序问题解决。


    结论:

    类似问题基本上都是由以上两个方面引起的。有异常的时候多看下日志,基本上的问题都会打印出来的。


    展开全文
  • PHP执行shell_exec方法失败

    万次阅读 2020-05-06 11:56:28
    多半原因在php.ini文件中未打开方法权限 在php.ini开启即可

    多半原因在php.ini文件中未打开方法权限
    在php.ini开启即可

    展开全文
  • php中判断shell_exec执行结果

    万次阅读 2016-05-05 13:58:43
     不过shell_exec执行成功无输出 和 执行失败 返回的都是null 在记录错误日志的时候区分就成问题了。  在php手册的评论中找到了区分的方法,在此记录一下。   $shell = "wget -O despath sourcepath && echo

       在做第三方登录的时候,注册时头像下载比较耗时,所以改为了异步 shell_exec 执行wget 

       不过shell_exec执行成功无输出  和  执行失败 返回的都是null 在记录错误日志的时候区分就成问题了。


       在php手册的评论中找到了区分的方法,在此记录一下。

       

    $shell = "wget -O despath sourcepath &&  echo 'success' ";
    $shellExec = shell_exec($shell);
    var_dump($shellExec);

      这样 当前面的执行成功的时候 会执行echo 执行结果就是success 而不是空了 

      执行失败不再继续执行echo  执行结果仍旧是null 

      这样就区分除了执行结果,记录对应日志就OK了。

      补充一下,大概是这样的。。。

     

     $shellExec = shell_exec("cd ../");
     var_dump($shellExec);//NULL
      
     $shellExec = shell_exec("cd ../ && echo 'suc'");
     var_dump($shellExec);//string(4) "suc "
    

    展开全文
  • shell 脚本中,通常会使用相对路径来做处理,但有时候,我们也许需要用到绝对路径。 在shell怎么获取一个文件或目录的绝对路径呢? 也许你会立马想到realpath(如果你写过php的话),那么shell支持这个命令吗?看...

    shell 脚本中,通常会使用相对路径来做处理,但有时候,我们也许需要用到绝对路径。
    在shell怎么获取一个文件或目录的绝对路径呢?
    也许你会立马想到realpath(如果你写过php的话),那么shell支持这个命令吗?看一下这里你就知道了。
    Realpath appears to come from debian, and is not part of coreutils,Realpath appears not to be standard issue.
    这个命令并不是总是可用的。 其实我们可以使用readlink命令:readlink -f  file_path
    file_real_path=$(readlink -f .)    获取当前的真实路径
    file_real_path=$(readlink -f ../..)    获取上上一级的真实路径
    这样就可以获得文件的绝对路径了,readlink的具体用法请自行man readlink!

    Readlink对于softlink的处理拿到的是实际的文件路径,而不是softlink路径。

    更好用的获取当前执行脚本的路径的方法为: 

    CURDIR=$(cd $(dirname ${BASH_SOURCE[0]}); pwd )

    echo $CURDIR 


    其他的常用路径有:

    获取当前执行脚本的路径 
    filepath=$(cd "$(dirname "$0")"; pwd) 

    echo "$(basename $0) $(dirname $0) -- $filepath " 
    脚本文件的绝对路径存在了环境变量filepath中,可以用echo $filepath  


    $0: 获取当前脚本的名称 
    $#: 传递给脚本的参数个数 
    $$: shell脚本的进程号



    展开全文
  • 解决PHP调用exec或shell_exec的问题

    千次阅读 2018-11-26 14:03:45
    最近在做一个项目需要用到PHP调用python,在服务器执行命令是可以的,但是当放在项目代码中,在web中执行命令就不行了,调试了一天,终于可以了! 环境:centos7+nginx+mysql+php7.1 首先要解决的就是权限问题和...
  • linux下使用shell发送http请求

    万次阅读 2017-11-23 10:29:42
    本文主要介绍如何在linux下使用shell发送http请求。一、curl1. get请求curl命令默认下就是使用get方式发送http请求。curl www.baidu.com2. post请求使用-d参数,形式如下:curl -d "param1=value1¶m2=value2" ...
  • exec 与shell_exec的区别

    万次阅读 2016-11-01 14:41:29
    手册 shell_exec函数运行在shell脚本环境,没有返回值 shell_exec (PHP 4, PHP 5, PHP 7) shell_exec — 通过 shell 环境执行命令,并且将完整的输出以字符串的方式返回。 说明 string shell_exec ( ...
  • sqlmap的--os-shell玩法

    千次阅读 2018-12-25 11:56:27
    首先找到注入点 证明存在注入漏洞 然后使用命令 sqlmap.py -r D:\1.txt -p ...这里不是dba所以不能使用--os-shell命令 如果是的话 例如 python sqlmap.py -u http://192.168.0.166/php/newsshow.php?cid=4 -...
  • [shell]shell简介

    万次阅读 2018-07-11 12:02:21
    一、简介 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核...
  • 【sql注入教程】mysql注入直接getshell

    万次阅读 2016-08-31 11:25:05
    Mysql注入直接getshell的条件相对来说比较苛刻点把 1:要知道网站绝对路径,可以通过报错,phpinfo界面,404界面等一些方式知道 2:gpc没有开启,开启了单引号被转义了,语句就不能正常执行了 3:要有file权限...
  • 当我们在一个 shell 里运行一个脚本程序时,该 shell 就会 fork 出一个新进程,从而启动了另一个命令解释器(由脚本中第一行的 #!/bin/xxx 指定,如 bash shell)来解释运行我们这个脚本。也就是说,这个新进程是一...
  • 漏洞概况 ThinkPHP是一款国内流行的开源PHP框架,近日被爆出存在可能的远程代码...由于框架对控制器名没有进行足够的检测会导致在没有开启强制路由的情况下可能的getshell漏洞。 漏洞危害 攻击者可通过该漏洞获取...
  • 转自:... [root@web-server php]# /etc/init.d/httpd restart shell-init: error retrieving current directory: getcwd: cannot access parent directories
  • 在Windows平台下安装PHP后,在使用PHP的exec、shell_exec等函数时,经常会遇到报错:unable to fork...,这实际上是因为PHP对cmd.exe没有足够的权限引起的。 解决方法:为C:\Windows\System32\cmd.exe(系统不是...
  • //start.sh #!/bin/bash ./do10.sh >> log.log & echo $! > COSDNA.pid //stop.sh #!/bin/bash cat ./COSDNA.pid | xargs -IX kill -9 X ...ps -a| grep php | awk '{print $1}'|xargs -IX kill -9 X
  • shell小记:dirname

    万次阅读 2015-12-15 11:41:11
    shell中,会有以下语句用于获取当前的路径: CURRENT_DIR="$(cd "$(dirname "$0")"; pwd)"其中的 $0表示添加到shell的第0个参数,dirname其实就是获取某个目录或文件的路径,例如:
  • 什么是Shell

    千次阅读 2018-08-10 21:41:23
    Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。 Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。...
  • linux下PHP7环境搭建

    万次阅读 2016-03-29 00:03:16
    LAMP环境版本 操作系统:Centos 7Mysql:5.7.11Apache:2.4.18PHP:7.0.4 安装Mysql 下载链接:http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.11.tar.gz ...shell> groupadd mysql
  • windows+PHP+shell_exec()无法执行的原因

    万次阅读 2018-01-23 11:33:34
    今天使用shell_exec()命令执行wkhtmltopdf.exe 生成pdf文件时,总是无法生成PDF文件,使用var_dump()打印返回值,结果是null。可是检查代码并没有什么问题啊?执行程序的目录是 D:\Program Files\wkhtmltopdf\bin\...
  • Shell在线工具--在线写shell

    千次阅读 2018-08-19 14:52:47
    http://www.runoob.com/try/runcode.php?filename=helloworld&type=bash
1 2 3 4 5 ... 20
收藏数 115,311
精华内容 46,124
热门标签
关键字:

php 如何禁止shell