免费注册 查看新帖 |

Chinaunix

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

6--用户ID(UNIX) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-12 09:47 |只看该作者 |倒序浏览
6.1 用户ID
   口令文件登录项中的用户ID(user ID)是个数值,它向系统标识各个不同的用户。系统管理员在确定一个用户的登录名的同时,确定其用户ID。用户不能更改其用户ID。通常每个用户有一个唯一的用户ID。
   用户ID为0的用户为根(root)或超级用户( superuser )。在口令文件中,通常有一个登录项,其登录名为root,我们称这种用户的特权为超级用户特权。如果一个进程具有超级用户特权,则大多数文件许可权检查都不再进行。某些操作系统功能只限于向超级用户提供,超级用户对系统有自由的支配权。
   打印用户I D和组I D
   printf("uid=%d,gid=%d\n",getuid(),getgid());
   
  6.2 组ID
   口令文件登录项也包括用户的组ID(group ID),它也是一个数值。组ID也是由系统管理员在确定用户登录名时分配的。一般来说,在口令文件中有多个记录项具有相同的组ID。在UNIX下,组被用于将若干用户集合到课题或部门中去。这种机制允许同组的各个成员之间共享资源(例如文件)。可以设置文件的许可权使组内所有成员都能存取该文件,而组外用户则不能。
   组文件将组名映射为数字组ID,它通常是/etc/group。
   对于许可权使用数值用户ID和数值组ID是历史上形成的。系统中每个文件的目录项包含该文件所有者的用户ID和组ID。在目录项中存放这两个值只需4个字节(假定每个都以双字节的整型值存放)。如果使用8字节的登录名和8字节的组名,则需较多的磁盘空间。但是对于用户而言,使用名字比使用数值方便,所以口令文件包含了登录名和用户ID之间的映射关系,而组文件则包含了组名和组ID之间的映射关系。例如UNIX ls-l命令使用口令文件将数值用户I D映射为登录名,从而打印文件所有者的登录名。
  6.3 添加组ID
   除了在口令文件中对一个登录名指定一个组ID外,某些U N I X版本还允许一个用户属于另外一些组。这是从4.2 BSD开始的,它允许一个用户属于多至16个另外的组。登录时,读文件/etc/group,寻找列有该用户作为其成员的前16个登记项就可得到该用户的添加组ID
(supplementary group ID)。


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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP