|
程序如下:
- #include<stdio.h>
- #include<stdlib.h>
- #include<unistd.h>
-
- int main(void)
- {
- printf("Real user ID: %d\n", getuid());
- printf("Effective user ID: %d\n", geteuid());
- printf("Real group ID: %d\n", getgid());
- printf("Effective group ID: %d\n", getegid());
-
- exit(EXIT_SUCCESS);
- }
复制代码
在普通用户下执行结果是
Real user ID: 500
Effective user ID: 500
Real group ID: 500
Effective group ID: 500
但是经过下述步骤后,
su
passwd
chmod g+s a.out
exit
a.out的有效组id应该是超级用户了,也就是说再次执行的结果应该是Effective group ID: 0,但是我的实际执行结果仍然是
Real user ID: 500
Effective user ID: 500
Real group ID: 500
Effective group ID: 500
这是何原因呢,请各位指教。 |
|