登录记账

来源:互联网 发布:淘宝客全店推广如何做 编辑:程序博客网 时间:2024/04/29 23:09

utmp 文件维护着当前登录进系统的用户记录,每一个用户登录进系统是都会想utmp文件写入一条信息,这条信息包含一个记录着用户名的ut_user字段,当用户登出的时候该条记录会被删除(who之类的程序就是使用utmp文件中的信息来显示当前登录进系统的用户列表)
wtmp文件包涵登录登出记录,功能类似utmp,只是当用户等处系统时还会向这个文件附加一条记录,该条记录与的呢公路信息相同,但是ut_user字段会被置零(last命令就是使用wtmp文件内容)

#include<utmpx.h>//将utmp文件的当前位置设置到文件的起始位置,当utmp文件没有被打开时,setutxent()和getutx*()会打开这个文件void setutxent(void);//关闭utmp文件void endutxent(void);//getutxent(),getutxid()和getutxline()会从utmp文件中读取一个记录并返回一个只想utmpx结构的指针,搜索失败返回NULLstruct utmpx *getutxent(void);struct utmpx *getutxid(const struct utmpx *ut); //根据ut参数中ut_type和ut_id字段的值在utmp文件中搜索一个记录struct utmpx *getutxline(const struct utmpx *ut);//根据ut参数ut_type字段和ut_line字段匹配//默认情况下,所有getutx*()函数都使用标准的utmp文件,如果需要使用另一个文件,例如wtmp文件,需要调用utmpxname()并制定目标路径名int utmpxname(const char *file);//仅仅复制路径名,不会打开文件,但会关闭之前有其他调用打开的所有文件#include<unistd.h>char *getlogin(void);   //获取登录名字,搜索utmp文件以找出ut_line值与终端名匹配的记录,如果找到了,返回记录中的ut_user字符串

这里写图片描述

原创粉丝点击