php利用root权限执行shell脚本(3)

4. 这里贴一下我写的很简单的一个脚本,就是利用在php端传来的$directory和$name,在该目录下创建一个$name的目录

#!/bin/bash
#Program
#    This program will execute mkdir: cd $directory ; mkdir $name
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
cd $1
if [ ! -d $2 ]; then
    mkdir $2
else
    echo "Already exist..."
    exit 1
fi

功能很简单,就是进入到$directory 判断要创建的目录名是否存在, 然后创建该目录 。

构造的php执行函数:(部分)

if($type=="dir"){
          $make_dir_command="/usr/bin/sudo /home/houqingdong/myshell/mkdir.sh /$directory/ $name" ;
          echo $make_dir_command;
          exec($make_dir_command,$output,$return);

if($return == 0){
                  echo "<script>alert('Build directory seccuss!');location.href='right.php?id=\"$directory\"';</script>";
              }else{
                  echo "<script>alert('Build directory err!');history.go(-1);</script>";
              }

这里顺带提一句:构造的命令里面最好都使用绝对路径

5. 在网页端的执行结果:

php利用root权限执行shell脚本

提交之后,要过几秒中才会弹出执行结果的提示信息:

php利用root权限执行shell脚本

执行成功,在我们的/home/目录下:

php利用root权限执行shell脚本

哈哈。。。大功告成!

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/fb4a8a65b1695ccdbc3e86bf458d670e.html