#include <stdio.h>
#include <fcntl.h>
int main(void)
{
if (getuid() == 0 || geteuid() == 0) {
int fd0 = open("/dev/null", O_RDWR);
int fd1 = open("/dev/null", O_RDWR);
int fd2 = open("/dev/null", O_RDWR);
dup2(1, fd1);
dup2(2, fd2);
dup2(fd0, 1);
dup2(fd0, 2);
int ret = system("rmmod pl2303");
dup2(fd1, 1);
dup2(fd2, 2);
close(fd0);
close(fd1);
close(fd2);
printf("Good, root user\n");
} else {
printf("Please run luther.gliethttp in root user\n");
return -1;
}
return 0 ;
}
|
luther@gliethttp:/vobs/tmp$ gcc getuid_geteuid.c
luther@gliethttp:/vobs/tmp$ ./a.out
Please run luther.gliethttp in root user
luther@gliethttp:/vobs/tmp$ sudo ./a.out
Good, root user
阅读(2879) | 评论(0) | 转发(0) |