Linux进程管理:用户ID、会话、进程组与守护进程详解
1. 用户和组ID相关概念
1.1 真实、有效和保存的用户ID
在Linux系统中,进程的用户ID分为真实用户ID(real user ID)、有效用户ID(effective user ID)和保存的用户ID(saved user ID)。
- 真实用户ID :属于实际运行程序的用户的有效用户ID。
- 有效用户ID :在验证进程的凭据时会被检查的用户ID,是关键的判断依据。
- 保存的用户ID :进程的原始有效用户ID。当进程执行 fork 时,子进程会继承父进程的保存的用户ID;执行 exec 调用时,内核会将保存的用户ID设置为有效用户ID。
当进程执行 exec 调用时,通常有效用户ID不变,但执行 suid 二进制文件时,进程可以改变其有效用户ID,会被设置为程序文件所有者的用户ID。例如, /usr/bin/passwd 是一个 suid 文件,其所有者是 root ,普通用户的shell派生进程执行该文件时,进程的有效用户ID会变为 root 。
非特权用户只能将有效用户ID设置为真实或保存的用户ID,而超级用户可以将有效用户ID设置为任何值。非特权用户不能更改保存的用户ID,超级用户可以将其更改为与真实用
超级会员免费看
订阅专栏 解锁全文
117

被折叠的 条评论
为什么被折叠?



