AI Agent 学习指南
2026/6/8 22:20:29
在 Linux 系统中,进程的用户和组 ID 是进行权限管理的重要依据,涉及到真实用户 ID、有效用户 ID 和保存用户 ID 等概念。
exec调用时,通常有效用户 ID 不变。但执行setuid(suid)二进制文件时,进程可改变其有效用户 ID,将其设置为程序文件所有者的用户 ID。例如,/usr/bin/passwd文件是setuid文件,其所有者为root,普通用户的 shell 创建进程执行该文件时,进程的有效用户 ID 会变为root。fork时,子进程会继承父进程的保存用户 ID。执行exec调用时,内核会将保存用户 ID 设置为有效用户 ID。非特权用户不能更改保存用户 ID,超级用户可将其更改为与真实用户 ID 相同的值。root进程可切换的用户 ID。