免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1075 | 回复: 0
打印 上一主题 下一主题

实际用户ID,有效用户ID与保存设置用户ID [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-02-07 19:28 |只看该作者 |倒序浏览
来自:http://blog.sina.com.cn/s/blog_4ed4269c0100atet.html
[color="#0000ff"]前段时间一直没搞明白这几个ID之间的关系,今天看到一篇博文,这才拨云见日,才有所了解了.
[color="#0000ff"]real user ID:实际用户ID,指的是进程执行者是谁
effective user
ID:有效用户ID,指进程执行时对文件的访问权限
saved set-user-ID:保存设置用户ID,作为effective
user ID的副本,在执行exec调用时后能重新恢复原来的effectiv user ID.
[color="#0000ff"]上面这三个ID是相对于进程而言的.
set-user-ID:设置用户ID,这是相对于文件来说的.设置了set-user-ID位的可执行程序,执行时,进程的effective
user ID与saved set-uesr-ID都为程序文件所属用户的ID,些时real user ID与effective
user
ID就不一定相等了.这类程序称之为SUID程序,这类程序有特殊的用途.典型的例子:passwd程序,ping程序等.
passwd程序是要修改用户密码,此时是要修改/etc/passwd或修改/etc
/shadow文件(有必要时),然而一般用户没有修改这两个文件的权限.passwd程序设置了set-user-ID位的,并且该文件的所有都是
root,所以,一般用户执行时,也具有了root的权限.
[color="#0000ff"]ping程序也如此,因为ping程序要产生原始套接字(raw),所以需要有root的权限.然而一般用户之所以能用ping程序,就是因为ping程序的所有都是root用户,并且它设置了set-user-ID位.
[color="#0000ff"]为一可执行程序设置set-user-ID位:
[email=pds@FSSR][color="#0000ff"]pds@FSSR[/email]
:~> su root
口令:
FSSR:/home/pds # chown root suid
FSSR:/home/pds # ll suid
-rwxr-xr-x 1 root users 7702 2008-08-10 11:28 suid
FSSR:/home/pds # chmod u+s suid
FSSR:/home/pds # ll suid
-rwsr-xr-x 1 root users 7702 2008-08-10 11:28 suid
FSSR:/home/pds # exit
exit

相对的,没有设置set-user-ID位的可执行程序,称之为非SUID程序,该程序执行时,real user
ID与effective user ID相等.
setuid可以修改real user ID,effective user
ID和saved set-user-ID这三个值,但是要用权限.
[color="#0000ff"]这是函数原型:
[color="#0000ff"]int setuid(uid_t uid)
1.如果用户(当前调用的用户)有超级用户权限,则real user
ID,effective user ID和saved set-user-ID都将设置为参数uid的值.
2.如果用户没有超级用户权限,仅当参数uid等于real user ID或saved
set-user-ID时,effective user ID被设置为参数uid的值,real user ID和saved
set-user-ID不变;否则返回错误.


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/91785/showart_1817734.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP