Linux 进程管理:用户与组 ID、会话、进程组及守护进程详解
1. 用户与组 ID 相关概念
在 Linux 系统中,进程的用户和组 ID 是重要的安全和权限管理机制。主要涉及到三种用户 ID:真实用户 ID(real user ID)、有效用户 ID(effective user ID)和保存用户 ID(saved user ID)。
- 真实用户 ID :属于实际运行程序的用户的有效用户 ID。
- 有效用户 ID :在验证进程的凭据时会检查的用户 ID,是关键的权限判断依据。
- 保存用户 ID :进程的原始有效用户 ID,在执行
exec调用时,内核会将其设置为有效用户 ID。
当进程执行 exec 调用时,通常有效用户 ID 不变,但执行 setuid(suid)二进制文件时,进程可以将其有效用户 ID 更改为程序文件所有者的用户 ID。例如, /usr/bin/passwd 是一个 setuid 文件,其所有者是 root,当普通用户的 shell 生成一个进程来执行该文件时,无论执行用户是谁,该进程的有效用户 ID 都会变为 root。
非特权用户可以将有效用户 ID 设置为真实用户 ID 或保存用户 ID,而超级用户可以将有效用户 ID 设置为任何值。非特权用户不能更改保存用户 ID,超级用户可以将其更改为与真实用户 ID 相同的值。
超级会员免费看
订阅专栏 解锁全文
116

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



