版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35865125/article/details/88700931
内核为每个进程维护三个UID值:
实际用户ID(real uid)、 有效用户ID(effective uid)、 保存的设置用户ID(saved set-user-ID)。
实际用户ID和实际用户组ID:标识我是谁,也就是登录用户的uid和gid,比如我的Linux以fg登录,在Linux运行的所有的命令的实际用户ID都是fg的uid,实际用户组ID都是fg的gid(可以用id命令查看)。
有效用户ID和有效用户组ID:有效用户ID就是当前进程是以哪个用户ID来运行的(当前进程对资源的访问权限取决于其有效用户ID的权限),一般情况下是实际用户ID,如果可执行文件具有了SUID权限,那么它的有效用户ID就是可执行文件的拥有者。
保存的设置用户ID就是有效用户ID的一个副本,与SUID权限有关。
REF:
https://www.cnblogs.com/bwangel23/archive/2015/01/15/4225818.html (good)
https://www.cnblogs.com/Jimmy1988/p/7260215.html (good)
https://www.cnblogs.com/kunhu/p/3699883.html
UNIX环境高级编程 第三版 8.11