注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

前端开发那点事儿

冒犯之处,敬请谅解。

 
 
 

日志

 
 
 
 

PHP 以ROOT权限执行LINUX命令(TCPDUMP)  

2013-09-30 11:12:01|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

由于是在LINUX下的/html目录下调用(LINUX WEB目录),故创建/var/www/html/wukong.c文件

#include <stdio.h>
#include <stdlib.h>
//#include <systypes.h>
#include <unistd.h>

int main()
{
    uid_t uid ,euid;

    //note
获得当前的uid
    uid = getuid();
    //note
获得当前euid
    euid = geteuid();

    //note
交换这两个id
    if(setreuid(euid, uid))
        perror("setreuid");

    //note
执行将要执行linux系统命令
    system("/usr/sbin/tcpdump -w /var/log/vs/wk.cap -s 8192");
    return 0;
}

 

 

编译:

cd /var/www/html/

gcc wukong.c -o wukong

chmod u+s ./wukong

(chmod 4755 ./wukong)

 (

以后可以将这个wukong(可执行程序)复制到别处直接使用

chmod 4755 /var/www/html/wukong

find /var/log/vs –name wukong.cap


调用:

<?php

    exec('/var/www/html/wukong',$resultArr,$code);   

    var_dump($resultArr);

    echo '<br />';

    var_dump($code);

?>




日期版本:
#include <stdio.h>
#include <stdlib.h>
#include <systypes.h>
#include <unistd.h>

int main()
{
    struct tm *pos = NULL;
    char acData[256];
    time_t iTime;
    pos = localtime(&iTime);   

    uid_t uid ,euid;
    uid = getuid()euid
    euid = geteuid();
    if(setreuid(euid, uid))
        perror("setreuid");

    snprintf(acData, 256-1,  "/usr/sbin/tcpdump -w /var/log/voicesystem/%d-%d-%d %d:%d:%d-web.cap",  1900 + pos->tm_year, 1 + pos->tm_mon, pos->tm_mday, pos->tm_hour, pos->tm_min, pos->tm_sec);
    system(acData);
   
    return 0;
}
  评论这张
 
阅读(962)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017