全部博文(404)
分类: LINUX
2009-04-27 14:54:15
Linux日志文件utmp、wtmp、lastlog、messages
1、有关当前登录用户的信息记录在文件utmp中;======who命令 2、登录进入和退出纪录在文件wtmp中;========w命令 3、最后一次登录文件可以用lastlog命令察看; 4、messages======从syslog中记录信息 注意:wtmp和utmp文件都是二进制文件,他们不能被诸如tail命令剪贴或合并(使用cat命令)。用户 需要使用who、w、users、last和ac来使用这两个文件包含的信息。 例子:
last命令往回搜索wtmp来显示自从文件第一次创建以来登录过的用户 users用单独的一行打印出当前登录的用户,每个显示的用户名对应一个登录会话 w命令查询utmp文件并显示当前系统中每个用户和它所运行的进程信息 who命令查询utmp文件并报告当前登录的每个用户 ac命令根据当前的/var/log/wtmp文件中的登录进入和退出来报告用户连结的时间(小时) utmp文件,它记录当前登录进系统的各个用户; 包含下列结构的一个二进制记录写入这两个文件中:
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( 1 )程序读utmp文件,并以可读格式打印其内容。后来的UNIX版本提供last( 1 )命令,它读wtmp文件并打印所选择的记录。wtmp文件,它跟踪各个登录和注销事件。 wted
wtmp/utmp日志编辑程序。你可以使用这个工具编辑所有wtmp或者utmp类型的文件。 z2
utmp/wtmp/lastlog日志清理工具。可以删除utmp/wtmp/lastlog日志文件中有关某个用户名的所有条目。不过,如果用于Linux系统需要手工修改其源代码,设置日志文件的位置。
utmp 文 件 用 于 记 录 当 前 系 统 用 户 是 哪 些 人。 但 是 实 际 的 人 数 可 能 比 这 个 数 目要 多 , 因 为 并 非 所 有 用 户 都 用 utmp 登 录。
警告: utmp 必 须 置 为 不 可 写 , 因 为 很 多 系 统 程 序 ( 有 点 傻 的 那 种 ) 依 赖 于 它。 如 果你 将 它 置 为 可 写 , 其 他 用 户 可 能 会 修 改 它 (//* 导 致 程 序 运 行 出 错) 。 (//* (//* )中 为 译 者 注)
v