首页 > 其他 > 详细

《UNIX环境高级编程》读书笔记之系统数据文件和信息(1)

时间:2014-09-17 12:05:52      阅读:212      评论:0      收藏:0      [点我收藏+]

1.UNIX系统口令文件包含了下图所示的各字段,这些字段包含在<pwd.h>中定义的passwd结构体中

bubuko.com,布布扣

POSIX定义了两个获取口令文件项的函数。在给出用户登录名或用户ID后。这两个函数就能查看相关项。

#include <pwd.h>

struct passwd *getpwuid(uid_t uid);

struct passwd *getpwnam(const char *name);

如果想要查看整个口令文件,则要用到下面三个函数:

#include <pwd.h>

struct passwd *getpwent(void);//返回口令文件中的下一记录

void setpwent(void);//定位口令文件到开口处

void endpwent(void);//关闭口令文件。打开口令文件之后,一定要记得关闭口令文件


2.为了安全的考虑,很多系统将加密口令存放在一个称为阴影口令文件的地方。文件中存放的字段如下图:

bubuko.com,布布扣

与访问口令文件的一组函数相似,有另一组函数可以访问阴影口令文件。

#include <shadow.h>

struct spwd *getspnam(const char *name);

struct spwd *getspent(void);

void setspent(void);

void endspent(void);


3.组文件

UNIX组文件包含下图所示的字段。这些字段也包含在<grp.h>中定义的group结构中。

bubuko.com,布布扣

POSIX定义下列两个函数来根据用户名或用户ID来查找用户所属组的信息。

#include <grp.h>

struct group *getgrgid(gid_t gid);

struct group *getgrnam(const char *name);

与访问口令文件类似。如果要访问整个组文件,则要用到下列三个函数:

#include <grp.h>

struct group *getgrent(void);

void setgrent(void);

void endgrent(void);


《UNIX环境高级编程》读书笔记之系统数据文件和信息(1)

原文:http://blog.csdn.net/yao_wust/article/details/39339463

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!