进程管理:用户与组ID、会话、进程组及守护进程详解
1. 用户与组ID操作
1.1 seteuid和setegid函数
- 功能 :
seteuid( )
用于将有效用户ID设置为euid
。根用户可以提供任意euid
值,非根用户只能将有效用户ID设置为真实或保存的用户ID。 - 返回值 :成功时返回0,失败时返回 -1,并将
errno
设置为EPERM
,表示当前进程不是由根用户拥有,且euid
既不等于真实用户ID也不等于保存的用户ID。 - 注意事项 :在非根用户情况下,
seteuid( )
和setuid( )
行为相同。通常建议使用seteuid( )
,除非进程以根用户身份运行,此时使用setuid( )
更合适。 - 组ID操作 :将
seteuid( )
替换为setegid( )
,euid
替换为egid
,上述规则同样适用于组ID操作。