Linux 进程管理:用户、组、会话与守护进程详解
1. 用户和组 ID 相关概念
在 Linux 系统中,用户和组 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 相同的值。
2. 修改用户和组 ID 的系统调用
Linux 提供了多种系统调用来修改用
超级会员免费看
订阅专栏 解锁全文
1

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



