1

这是我的 c 代码片段test.c

printf("ruid:%d, euid:%d\n",getuid(),geteuid());
char *args[] = {"/bin/bash","-c","exec id",0};
execv("/bin/bash",args);

我用 编译代码sudo gcc test.c -o test; sudo chmod +s ./test,所以程序test有 suid 位并且归 root 所有。

printf输出为预期的, ruid:1000, euid:0, 但程序id指示ruideuid都是1000.

4

0 回答 0