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)stic
有童鞋问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。
更多推荐
所有评论(0)