zoukankan      html  css  js  c++  java
  • 《APUE》第6章笔记

    这一章主要介绍了口令文件和组文件的结构和一些围绕这些结构的函数。

    口令文件即passwd就是在/etc/passwd中可以查阅。其结构是:

    上图四个平台能支持的就用黑点表示。

    因为加密口令这一项放在passwd这个人人可读的文件中,可能会有安全问题。所以现在的Linux中的加密口令都是放在/etc/shadow中,只有root用户才可以查看。而在passwd文件中加密口令这一项则显示为x。(每一项都是用冒号隔开的)

    POSIX.1就定义了两个函数来让我们获取用户名或者数值用户ID。

    #include <pwd.h>

    struct passwd *getpwuid(uid_t uid);

    struct passwd *getpwnam(const char *name);

    返回值:成功返回指针,失败返回NULL

    如果有些程序要查看整个口令文件,则需要下面三个函数:

    #include <pwd.h>

    struct passwd *getpwent(void);

    返回值:成功返回指针,失败返回NULL

    void setpwent(void);

    void endpwent(void);

    getpwent是查看口令文件中的一项内容,setpwent是定位到文件的开始处(相当于rewind函数),endpwent就是关闭口令文件。

    组文件也差不多,结构上是这样:

    其中最后一项的指针元素都是指向各个用户名,最后以空指针结束。

    与口令文件的函数相似,POSIX.1也定义了两个函数来查看文件中的组ID和组名:

    #include <grp.h>

    struct group *getgrgid(gid_t gid);

    struct group *getgrnam(const char *name);

    返回值:成功返回指针,失败返回NULL

    如果需要得知整个组文件的信息,也有类似口令文件的三个函数:

    #include <grp.h>

    struct group *getgrent(void);

    返回值:成功返回指针,失败返回NULL

    void setgernt(void);

    void endgrent(void);

  • 相关阅读:
    Jmeter+Jenkins持续集成(三、集成到Jenkins)
    Jmeter+Jenkins持续集成(一、环境准备)
    Git----基础常用的命令总结
    -第5章 多级菜单
    -第4章 变幻菜单
    -第3章 jQuery方法实现下拉菜单显示和隐藏
    -第2章 JS方法实现下拉菜单显示和隐藏
    DIV+CSS+PS实现背景图的三层嵌套以及背景图的合并
    -第1章 HTMLCSS方法实现下拉菜单
    前端常用效果-目录
  • 原文地址:https://www.cnblogs.com/fusae-blog/p/4278500.html
Copyright © 2011-2022 走看看