linux 下user id 及 group id的分类

有童鞋问euid的问题,这里顺便总结一下放这里。


1 分类

user id 分为:

1)real user id (RUID);

2)effective user id (EUID)

3)sticky user id (SUID)

group id 也类似分为:

1)real group id(RGID)

2)effective group id(EGID)

3)sticky group id(SGID)


2 三种user id 区别及关联

RUID 是进程创建者的user id,即进程的执行者;进程的RUID 只有ROOT 用户可以修改;

EUID 是进程执行过程中实际拥有哪个有效用户的权限,这个用户的user id即EUID;

SUID 是程序(非进程)属主的user id,因为unix 的可执行文件elf可以设定sticky 位,设置sticky 位之后,当执行这个程序时,不管执行者的uid是多少,euid都会变成那个程序的属主uid,此时这个进程的权限也就变成了程序属主所拥有的权限。举例,设置stick uid:chmod u+s my_pro,而my_pro的属主UID是501,此后不管谁执行my_pro,这个新进程的权限都是501用户的权限,但这个进程的uid不变,除非root用户强制修改。

进程的创建者可以通过seteuid 来修改进程的euid,可以设为suid,也可以设为自己的uid。

3 三种group id的区别和关联

参考2,将uid换成gid即可,修改函数也是setegid。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值