关于centos x_64 下的s权限位

sfz200809242719 2014-01-28 03:40:19
我做了两个测试,一个是redhat,一个是我的系统,然后以下结果却是不同,让我造成了疑惑。
s权限设置位,可以让进程或得该用户有效设置位,但是我的系统下去没有出现这个功能,如下是我的代码:
#include"../include/apue.h"
int main(){
printf("this is s power,before swap\n");
printf("real uid= %d, effective uid= %d\n",getuid(),geteuid());
printf("\n\n\n now start swap\n");
setreuid(500,0);
seteuid(0);
printf("real uid= %d, effective uid= %d\n",getuid(),geteuid());
exit(0);
}
首先apue的头文件的话,其实就是扩充了所有头文件的头文件。先说一下,setreuid是用来交换实际用户和有效用户ID,然后seteuid用来让有效用户ID设置成用户ID,通常,root用户的ID位0。用ROOT用户编译此文件后,chmod u+s,chmod o+x.之后用普通用户执行后发现有效ID人然是普通用户ID,那么S权限位为什么没有起作用?
在redhat32位上,这个代码符合我的预期结果,但是在centos x_64上却非常符合我的结果
...全文
231 点赞 收藏 4
写回复
4 条回复
sfz200809242719 2014年01月30日
我擦,怎么这么冷清
回复 点赞
sfz200809242719 2014年01月28日
别沉。。。。
回复 点赞
sfz200809242719 2014年01月28日
这么快要沉了。。。。
回复 点赞
发动态
发帖子
Linux/Unix社区
创建于2007-08-27

4735

社区成员

1.1w+

社区内容

Linux/Unix社区 专题技术讨论区
社区公告
暂无公告