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);

  • 相关阅读:
    通过Powershell开启RDP
    映射网络驱动器
    简易图书管理系统
    使用IDEA快速创建Spring Boot项目
    oracle11g安装步骤详细图文教程
    使用JDOM创建XML文档
    使用JDOM解析XML文档
    HTML+CSS之金立官网部分实现
    webstorm2019安装与使用详细教程
    第二章 JavaScript基础指令
  • 原文地址:https://www.cnblogs.com/fusae-blog/p/4278500.html
Copyright © 2011-2022 走看看