- 用户ID @H_404_3@ 口令文件登录项中的用户ID(user ID)是一个数值,他向系统标识各个不同的用户。系统管理员在确定一个用户的登录名的同时,确定其用户ID。用户不能改变其用户ID。通常每个用户有一个唯一的用户ID。 @H_404_3@ 用户ID为0的用户为根用户(root)或者超级用户(superuser)。在口令文件中,通常有一个登录项,其登录名为root,称这种用户的特权为超级用户特权。
组ID @H_404_3@ 命令文件登录项也包括用户的组ID(group ID),他是一个数值。组ID也是由系统管理员在指定用户登录名时分配的。一般来说,在口令文件中有多个登录项具有相同的组ID。组被用于将若干用户集合到项目或部门中去。这种机制允许同组的各个成员之间共享资源(如文件)。 @H_404_3@ 组文件将组名映射为数组的组ID。组文件通常是/etc/group。
#include "apue.h" int main(void) { printf("uid=%d,gid=%d\n",getuid(),getgid()); exit(0); }
- 所属组ID 除了在口令文件中对一个登录名指定一个组ID外,大多数UNIX系统版本还允许一个用户属于一些组。这一功能是从4.2BSD开始的,它允许一个用户属于多至16个其他的组。登录时,读文件/etc/group,寻找列有该用户作为其成员的前16个记录项就可以得到该用户的附属组ID(supplementary group ID)