分享

linux下把apache/php 执行权限设为root

 mrjbydd 2013-07-12

linux下把apache/php 执行权限设为root  

2011-09-17 13:20:36|  分类: php |  标签:linux  root  php  权限   |字号 订阅

    编译super后放到bin目录下,
   在PHP中执行shell_exex("super mkdir dir");
   super 原文件如下:
#include <stdio.h>    
#include <stdlib.h>    
#include <string.h>    
#include <sys/types.h>    
#include <unistd.h>

/*本工具是为PHP调用linux外部命令而写.
 *其原理是首先为apatch设置root权限,
 *接着调用system执行命令行参数,
 *最后返回命令行结果值
*/
int main(int argc, char* argv[])
{
uid_t uid ,euid;
char cmd[2048]={0};
int i,ret=0;
FILE * fp;
uid = getuid() ;
euid = geteuid();
//printf("my uid :%u/n",getuid());  //这里显示的是当前的uid 可以注释掉.
//printf("my euid :%u/n",geteuid()); //这里显示的是当前的euid
setreuid(euid, uid);  //交换这两个id
//printf("after setreuid uid :%u/n",getuid());
//printf("afer sertreuid euid :%u/n",geteuid());
for(i=1;i<argc;i++)
{
strcat(cmd,argv[i]);
strcat(cmd," ");
}
strcat(cmd,";echo $? > /tmp/system.return");
system(cmd); 
fp=fopen("/tmp/system.return","r");
if(fp)
{
fscanf(fp,"%d",&ret);
fclose(fp);
}
return ret;

编译加上权限
chmod u+s super

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多