免费注册 查看新帖 |

Chinaunix

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

[安装配置] 3--设置-用户-ID和设置-组-ID(UNIX) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-26 10:10 |只看该作者 |倒序浏览
与一个进程相关联的ID有六个或更多,如下表:
实际用户ID
实际组ID
我们实际上是谁
这两个字段在登录时取自口令文件中的登录项。通常,在一个登录会话期间这些值并不改变,但是超级用户进程有方法改变它们
有效用户ID
有效组ID
添加组ID
用于文件存取许可权检查
决定了我们的文件访问权
保存设置-用户- ID
保存设置-组- I D
由exec函数保存
在执行一个程序时包含了有效用户ID和有效组ID的副本,在说明setuid函数时,将说明这两个保存值的作用。
    通常,有效用户ID等于实际用户ID,有效组ID等于实际组ID。
    每个文件有一个所有者和组所有者,所有者由stat结构中的st_uid表示,组所有者则由st_gid成员表示。
    当执行一个程序文件时,进程的有效用户ID通常就是实际用户ID,有效组ID通常是实际
组ID。但是可以在文件方式字(st_mode)中设置一个特殊标志,其定义是“当执行此文件时,将进程的有效用户ID设置为文件的所有者(st_uid)”。与此相类似,在文件方式字中可以设置另一位,它使得执行此文件的进程的有效组ID设置为文件的组所有者(st_gid)。在文件方式字中的这两位被称之为设置-用户-ID(set-user-ID)位和设置-组-ID(set-group-ID)位。
    例如,若文件所有者是超级用户,而且设置了该文件的 设置-用户-ID位,然后当该程序由一个进程运行时,则该进程具有超级用户优先权。不管执行此文件的进程的实际用户ID是什么, 都作这种处理。作为一个例子,UNIX程序passwd(1)允许任一用户改变其口令,该程序是一个设置-用户-ID程序。因为该程序应能将用户的新口令写入口令文件中(一般是/etc/passwd或/etc/shadow),而只有超级用户才具有对该文件的写许可权,所以需要使用设置-用户-ID特征。
    因为运行设置-用户-ID程序的进程通常得到额外的许可权,所以编写这种程序时要特别谨慎。
    再返回到stat函数,设置-用户-ID位及设置-组-ID位都包含在st_mode值中。这两位可用常数S_ISUID和S_ISGID测试。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/34065/showart_286562.html

论坛徽章:
0
2 [报告]
发表于 2008-09-01 16:14 |只看该作者
呵呵 不错 我也这样理解 但是不确定 谢谢你了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP