exec不会创建新进程,只是分析加载程序文件或者shell执行文件,替换父进程的代码段、数据段、栈段,一个进程可以执行多个exec来执行多个程序,但进程只有一个
父进程经常是waitpid,获取子进程状态,清理子进程
在执行前后,进程的实际用户ID和实际组ID保持不变,有效ID是否改变取决于执行程序的setid位。
进程的用户ID有三个
实际用户ID
有效用户ID
保存的设置用户ID
修改进程UID的规则
1、超级管理管理用户有权调用setuid,修改三个用户ID为指定uid
2、普通用户有权设置有效用户ID为实际用户ID或保存设置的UID
3、exec执行时会设置有效用户ID为执行程序的setuid