//影响用户id的函数
getuid()//获取进程实际用户id
geteuid()//获取进程有效用户id
setuid()//设置进程实际用户id
seteuid()//设置进程有效用户id
//影响组id的函数
getgid()//获取进程实际组id
getegid()
setgid()
setegid()
具体函数查看man手册
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
int main(void)
{
int uid,euid;
uid = getuid();//得到进程的实际用户id
euid = geteuid();//得到进程的有效用户id
//printf("uid = %u, euid = %u \n", uid, euid);
printf("uid = %d, euid = %d \n", uid, euid);
/***********************************/
if(setuid(8000) == -1)//设置进程id
{
perror("setuid()");
}
printf("After changing\n");
uid = getuid();
euid = geteuid();
printf("uid = %d, euid = %d\n", uid, euid);
exit(0);
}