天下网吧 >> 网吧天地 >> 网吧技术 >> 网吧系统 >> 正文

Linux系统进程ID转换需要注意什么

2013-1-8网络整理佚名

  前面的一篇文章中我们曾向大家介绍了Apache如何在Linux系统下配置+SSL的问题,不知道大家觉得怎么样呢!现在我们要向大家介绍的一下Linux系统进程ID转换需要注意什么!下面大家还是跟着我们txwb网吧联盟的网吧系统栏目一起去看看吧!
  据了解Linux系统为每个进程设置了3个ID:实际用户id,有效和用户id和保存的设置id,关于这3个id,需要注意以下几个方面:
  1.只有在root的情况下才能改变进程的实际用户id。举个例子,如果你从终端login程序登陆,此时login程序的3个id都是root。然后正确输入用户名密码之后,login程序于是setuid到注册的id。
  这样的话3个id都被改成了注册的用户id。然后execshell程序。非root用户注册进入shell之后,他的实际用户id是绝对不会被更改的。除非logout之后,重新注册shell。一些su改变用户的操作实际上都是改变shell进程的有效用户id,并不是shell进程的实际用户id。
  2.在exec程序时,可执行文件有一个设置id位,这个设置与否与进程的有效用户id和保存的设置id有很大关系。可以用ll命令查看,如果有s标记的话说明设置了,否则没有。
  首先如果是没有设置的情况的话,那么3个id均不会改变和调用者的进程的id一样。现在是设置了的情况,实际用户id仍然不会改变,有效用户id则设置为可执行文件的属主用户,保存的设置id设置成有效用户id一样。
  可以说这样的程序是有很多的,比如passwd,su等。例如passwd程序,一个普通用户foo通过shell执行passwd,首先shell进程fork产生一个子进程,然后子进程execpasswd程序。由于passwd设置了设置id位,并且passwd是属于root用户。
  这样的话子进程设置有效用户id位为root,保存的设置用户id也设置成了root。在passwd执行完毕时,再改变有效用户id和保存的设置用户id为以前的实际用户id的值。
  3.保存的设置-用户-ID是由exec从有效用户ID复制的。在exec按文件用户ID设置了有效用户ID后,即进行这种复制,并将此副本保存起来。
  Linux系统进程ID转换需要注意的地方就是这些了,大家如果还有什么想知道的地方可以去本站的网吧系统栏目去查找,如果找不到相关内容,可以留言一起讨论,当然如果大家有什么好的资料也可以和我们一起分享哦!

本文来源:网络整理 作者:佚名

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系email:support@txwb.com,系统开号,技术支持,服务联系QQ:1175525021本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下
  • 本周热门
  • 本月热门
  • 阅读排行