我的程序permissiontest
具有以下权限:
-rwsrwxrwx 1 root root 8664 Nov 18 15:59 permissiontest
以非root用户身份运行时,它由以下代码组成:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char** argv)
{
printf("EUID: %d\n", geteuid());
printf("RUID: %d\n", getuid());
return (EXIT_SUCCESS);
}
它输出:
EUID: 1000
RUID: 1000
从我读过的有关 setuid 位的内容来看,我认为执行程序时真实用户 ID 应为 0,因为 root 是该程序的所有者。但是,真实用户 ID 似乎不是 0。
谁能告诉我为什么会这样?
该程序位于本地硬盘上,并且 fstab 未指示任何内容,因此不应涉及任何安装问题。