1. 首页
  2. 操作系统
  3. Unix
  4. 系统标识-鸿鹄论坛_华为认证h35-211-hcnp-access network题库

系统标识-鸿鹄论坛_华为认证h35-211-hcnp-access network题库

上传者: 2024-07-15 21:02:08上传 PDF文件 18.16MB 热度 10次

UNIX系统广泛提供的两个重要数据文件是utmp文件和wtmp文件。utmp文件记录当前登录系统的用户,而wtmp文件则跟踪各个登录和注销事件。在V7版本中,一个二进制记录包含了以下结构被写入这两个文件:


struct utmp {

  char ut_line[8]; /* tty line: 'ttyh0', 'ttyd0', 'ttyp0', ... */

  char ut_name[8]; /* login name */

  long ut_time;    /* seconds since Epoch */

};

当用户登录时,login程序会填写上述结构并将其写入utmp文件,同时也将其写入wtmp文件。在用户注销时,init进程会将utmp文件中的相应记录清除(每个字节都填以0),并将一个新记录写入wtmp文件。读取wtmp文件中的注销记录时,其ut_name字段被清除为0。在系统重启时,以及更改系统时间和日期时,也会在wtmp文件中添加特殊记录项。

who程序会读取utmp文件并以可读格式打印其内容。而后来的UNIX版本提供了last命令,它读取wtmp文件并打印所选择的记录。虽然大多数UNIX版本仍然提供utmp和wtmp文件,但其中的信息量有所增加。V7版本中的20字节结构在SVR2中扩展为36字节,而在SVR4中则扩展为350字节。SVR4中这些记录的详细格式可以参见手册页utmp(4)和utmpx(4)。SVR4中的这两个文件都位于目录/var/adm中,SVR4还提供了许多函数(见getut(3)和getutx(3))用于读写这两个文件。4.3+BSD中的登录记录格式请参见手册页utmp(5),这两个文件的路径名是/var/run/utmp和/var/log/wtmp。

POSIX.1定义了uname函数,用于返回与主机和操作系统有关的信息:


#include <sys utsname.h="">

int uname(struct utsname *name);

sys>

如果成功则返回非负值,出错则返回-1。

相关文件下载:

  1. POSIX标准文档

POSIX标准文档

  1. POSIX操作系统串行编程指南

POSIX操作系统串行编程指南

  1. POSIX文件系统Libsqlfs.zip
用户评论