码迷,mamicode.com
首页 > 其他好文 > 详细

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

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

标签:style   blog   http   os   ar   文件   数据   2014   sp   

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)

标签:style   blog   http   os   ar   文件   数据   2014   sp   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!