Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1740758
  • 博文数量: 438
  • 博客积分: 9799
  • 博客等级: 中将
  • 技术积分: 6092
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-25 17:25
文章分类

全部博文(438)

文章存档

2019年(1)

2013年(8)

2012年(429)

分类: 系统运维

2012-03-27 17:29:47

用户ID(User ID)作为一个数值定义在password文件里,用来为我们向系统提供身份证明。这些用户ID由系统管理员在为我们分配用户名的时候分配,而且我们不能修改这个ID。用户ID一般对每个用户都是独一无二的。


我们称用户ID为0的用户为根用户(root)或超级用户(superuser)。我们可以在password文件里看到登录名为root的一行记录。一些操作系统函数只允许超级用户访问。超级用户可以掌管整个系统。


组ID(Group ID)同样作为一个数值定义在password文 件里,同样也是在系统管理员为我们分配用户名的时候分配。一般在password文件里会有多行记录来描述同一个组ID。组(Groups)通常用来把多 个用户集中到一个项目或一个部门,这样就可以在同一个组里共享资源,比如文件。我们可以设置一个文件的权限,使得它只能被一个组的成员访问,而组外的用户 则不访问该文件。


还有一个组文件用来把组名(group names)映射到数值化的组ID,这个文件通常为/etc/group。


用户ID和组ID之所以用数值表示,是有历史原因的。对于每个文件,文件系统都要为它存储它的属主(owner)的用户ID和组ID,如果每个ID存储为 2个字节的整型,则只要4个字节就够了,但完整的ASCII码登录名和组名需要更多的磁盘空间。此外,当检查权限时,比较字符串相对于比较整型数而言花费 更大。


尽管如此,用户更喜欢名字而不是数字,所以password文件维护了登录名到用户ID的映射,而组文件提供了组名到组ID的映射。函数getuid和getgid可以用来得到用户ID和组ID。


补充组ID(Supplementary Group IDs)

自从4.2BSD开始,多数的UNIX系统版本都允许用户除了在password文件里指定的组ID外,还可以同时属于其它的组。4.2BSD允许用户同 时有至多16个补充组ID。这些补充组ID在登录时通过文件/etc/group得到。POSIX要求系统至少支持8个补充组ID,而多数系统支持至少 16个。


阅读(828) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~