第六章 系统数据文件和信息

6.2 口令文件
口令文件是、/etc/passwd,包含5、10个字段,每个字段用冒号分隔。
EG:
口令文件的形式
获取口令文件项的两个函数

truct passwd * getpwuid(uid_t uid);//将i节点中的数字用户ID映射为用户登录名
struct passwd *getpwnam(const char *name);//用户登录名

查看口令文件

struct passwd  * getpwent(void);//返回口令文件项的下一个记录
void setpwent(void);//反绕它所使用的文件
void endpwent(void);//关闭这些文件,查看完口令文件后,一定要关闭这些文件。

6.3阴影口令

阴影口令:某些操作系统存放加密口令的文件。
附属组ID
当用户登录时,系统按照口令文件记录项中的数值组ID,赋给他们实际的组 ID
附属组ID的优点:不必在显示的更换组。一个用户会参与多个项目,因此也就要同时属于多个组。

获取和设置组ID的函数

int getgroups(int gidsetsize,  gid_t grouplist[])//成功返回附属组的ID数量;出错返回-1,
                                                                        //将进程所属用户的各附属组ID填写到grouplist数组中,该数组最多有gidsetsize个元素
int setgroups(int ngroups, const gid_t grouplist[]);//成功返回0;出错返回-1;超级用户调用
int initgroups(const char * username, gid_t basegid)//成功返回0;出错返回-1;超级用户调用

你可能感兴趣的:(口令文件,阴影口令)