PHP执行root权限程序

    本文地址:http://tongxinmao.com/Article/Detail/id/293

    
    #include <stdio.h>
    #include <stdlib.h>
    #include <sys/types.h>
    #include <unistd.h>
    
    char cmd[256];
    int main(int argc,char **argv)
    {
    uid_t uid ,euid;
    uid = getuid() ;
    euid = geteuid();
    printf("my uid :%u\n",getuid()); //这里显示的是当前的uid 可以注释掉. 
    printf("my euid :%u\n",geteuid()); //这里显示的是当前的euid 
    if(setreuid(euid, uid)) //交换这两个id 
    perror("setreuid");
    printf("after setreuid uid :%u\n",getuid());
    printf("afer sertreuid euid :%u\n",geteuid());
    //system("/sbin/iptables -L"); //执行iptables -L命令 
    sprintf(cmd,"wine /bin/pxxxcmd.exe %s %s",argv[1],argv[2]);
    printf(cmd);
    system(cmd);
    return 0;
    }
    
    gcc cmd.c -o cmd
    
    chmod u+s cmd   
    
    将cmd放在网站目录下,即可在PHP脚本中通过此C程序调用ROOT才能执行的程序
    
    $cmd = "/home/ftp/s/st/wwwroot/cmd  " . $file ." " .APP_ROOT.'/upload/tmp/';


    上一篇:微信小程序MQTT支持
    下一篇:树莓派USB设备信息获取(含插入检测)