WEB开发网
开发学院操作系统Linux/Unix 系统管理工具包: 监视用户的使用情况 阅读

系统管理工具包: 监视用户的使用情况

 2009-11-04 00:00:00 来源:WEB开发网   
核心提示: 因为是根据用户 ID 进行编码的,所以该记录中不包括用户名信息,系统管理工具包: 监视用户的使用情况(6),如果登录用户的 ID 是 1000,那么可以通过访问位于 1000 x sizeof (struct lastlog) 的记录来定位对应的 lastlog 记录,如清单 12 中所示,清单

因为是根据用户 ID 进行编码的,所以该记录中不包括用户名信息。如果登录用户的 ID 是 1000,那么可以通过访问位于 1000 x sizeof (struct lastlog) 的记录来定位对应的 lastlog 记录。

utmp 文件结构与其非常类似,但因为它是关于登录、注销、以及其他事件条目的顺序日志,所以该记录包括清单 11 中的登录信息。


清单 11. utmp 文件结构定义

struct utmp { 
    char  ut_line[UT_LINESIZE]; 
    char  ut_name[UT_NAMESIZE]; 
    char  ut_host[UT_HOSTSIZE]; 
    time_t ut_time; 
}; 

Linux® ut_type 具有类似的值定义,如清单 12 中所示。


清单 12. Linux ut_type 定义

#define UT_UNKNOWN   0 
#define RUN_LVL     1 
#define BOOT_TIME    2 
#define NEW_TIME    3 
#define OLD_TIME    4 
#define INIT_PROCESS  5 
#define LOGIN_PROCESS  6 
#define USER_PROCESS  7 
#define DEAD_PROCESS  8 
#define ACCOUNTING   9 

还有一种更加复杂的结构定义,如清单 13 中所示。


清单 13. 更加复杂的 utmp 结构定义

struct utmp { 
  short ut_type;       /* type of login */ 
  pid_t ut_pid;        /* PID of login process */ 
  char ut_line[UT_LINESIZE]; /* device name of tty - "/dev/" */ 
  char ut_id[4];       /* init id or abbrev. ttyname */ 
  char ut_user[UT_NAMESIZE]; /* user name */ 
  char ut_host[UT_HOSTSIZE]; /* hostname for remote login */ 
  struct exit_status ut_exit; /* The exit status of a process 
                  marked as DEAD_PROCESS */ 
 
/* The ut_session and ut_tv fields must be the same size when 
  compiled 32- and 64-bit. This allows data files and shared 
  memory to be shared between 32- and 64-bit applications */ 
#if __WORDSIZE == 64 && defined __WORDSIZE_COMPAT32 
  int32_t ut_session;     /* Session ID, used for windowing */ 
  struct { 
    int32_t tv_sec;     /* Seconds */ 
    int32_t tv_usec;    /* Microseconds */ 
  } ut_tv;          /* Time entry was made */ 
#else 
  long int ut_session;    /* Session ID, used for windowing */ 
  struct timeval ut_tv;    /* Time entry was made */ 
#endif 
 
  int32_t ut_addr_v6[4];    /* IP address of remote host */ 
  char __unused[20];      /* Reserved for future use */ 
}; 

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:系统 管理 工具包

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接