c程序

#include <stdio.h> 
#include <stdlib.h> 
#include <sys/types.h> 
#include <unistd.h>
#include<string.h>
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());
if (argc > 1)
{
     char base[512]="/bin/sh";
     while(argc-->1)
     {
        strcat(base," ");
        strcat(base,*++argv);
     }
     system(base); //执行sh 
   //  printf("%s\n",base); 
/* if(!strcmp(argv[1],"systeminfo"))
{
   char base[]="/bin/sh /www/c2ms/wwwroot/vps/Shell/test.sh  ";
   strcat(base,argv[2]);
   printf("%s",base);
   system(base); //执行sh 
}*/
}
return 0; 
}

你可能感兴趣的:(c程序)