在Linux操作系统中,用户ID(UID) 和 组ID(GID)对进程有着重要的作用,主要影响到进程的权限管理、资源访问以及操作系统的安全性。进程的用户ID和组ID代表了该进程可以执行哪些操作,进程需要以合适的用户和组运行。
与进程相关的用户ID包括:实际用户ID、有效用户ID、保持设置的用户ID、文件系统用户ID。(组ID相同,不再详细展开描述)
1.实际用户ID(RUID)
为进程启动时的用户ID,通常是进程的创建者(即启动进程的用户)的 UID。可以通过getuid()和gitgid()函数获取实际的用户ID和组ID。
2.有效用户ID(EUID)
表示当前进程在系统中执行操作时的用户ID,通常决定了进程的权限。可以通过geteuid()和getegid()函数获取有效的用户ID和组ID,通过seteuid()和setegid函数设置当前进程的有效的用户ID和组ID。
3.保持设置的用户ID(SUID)
保持设置的用户ID是进程上一次的有效用户ID,当创建进程时,子进程会从父进程继承保存设置的用户ID。
4.文件系统用户ID(FSUID)
文件系统用户 ID 是指当前进程在访问文件系统资源时所使用的用户ID。在大多数情况下,FSUID 与 EUID 相同,但在某些特定情况下,它可能与 EUID 不同。
215