系统进程:Linux系统进程的几个用户ID及其转换思路方法

 Linux为每个进程设置了3个ID:实际用户id有效和用户id和保存设置id

    有关这3个id需要注意以下几个方面:

    1.只有root才能改变进程实际用户id.例如用户从终端login登陆此时login3个id都是root.然后正确输入用户名密码的后login于是uid到注册id.于是3个id都被改成了注册用户id.然后exec shell非root用户注册进入shell的后实际用户id是绝对不会被更改除非logout的后重新注册shell.些su改变用户操作实际上都是改变shell进程有效用户id并不是shell进程实际用户id.

    2.exec可执行文件有个设置id位该位设置和否和进程有效用户id和保存设置id有很大关系可以用ll命令查看如果有s标记话介绍说明设置了否则没有首先没有设置情况3个id均不会改变和进程id现在是设置了情况实际用户id仍然不会改变有效用户id则设置为可执行文件属主用户保存设置id设置成有效用户id这样有很多比如passwdsu等例如passwd个普通用户foo通过shell执行passwd首先shell进程fork产生个子进程然后子进程exec passwd由于passwd设置了设置id位并且passwd是属于root用户于是子进程设置有效用户id位为root保存设置用户id也设置成了root.passwd执行完毕时再改变有效用户id和保存设置用户id为以前实际用户id

    3.保存设置-用户- ID 是由exec从有效用户I D复制在exec按文件用户I D设置了有效用户I D后即进行这种复制并将此副本保存起来

 

Tags:  系统进程太多 xp系统进程 系统进程优化 系统进程

延伸阅读

最新评论

发表评论