zoukankan      html  css  js  c++  java
  • 《UNIX环境高级编程》读书笔记之系统数据文件和信息(1)

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


    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.为了安全的考虑,非常多系统将加密口令存放在一个称为阴影口令文件的地方。

    文件里存放的字段例如以下图:


    与訪问口令文件的一组函数相似,有还有一组函数能够訪问阴影口令文件。

    #include <shadow.h>

    struct spwd *getspnam(const char *name);

    struct spwd *getspent(void);

    void setspent(void);

    void endspent(void);


    3.组文件

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


    POSIX定义下列两个函数来依据username或用户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);


  • 相关阅读:
    Android进程生命周期与ADJ
    四大组件之综述
    Linux进程pid分配法
    Linux的进程管理
    Linux硬盘管理
    Linux用户管理
    Linux命令行使用
    vim技巧5 常用操作
    vim技巧4 删除/保留文本中匹配行
    如何绘制UML图?
  • 原文地址:https://www.cnblogs.com/wzjhoutai/p/6977734.html
Copyright © 2011-2022 走看看