linux下last与lastb命令详解

linux下last与lastb命令详解

Posted on 2016-01-18 16:29  520_1351  阅读(13481)  评论(0)  编辑  收藏
转载

在linux系统中,last与lastb命令用来列出目前与过去登录系统的用户相关信息。指令英文原义:

last, lastb - show listing of last logged in users

单独执行last指令时,它会读取位于/var/log/wtmp的文件,并把该给文件的内容记录的登录系统的用户名单全部显示出来。

单独执行lastb指令,它会读取位于/var/log/btmp的文件,并把该文件内容记录的登入系统失败的用户名单,全部显示出来。

第一列信息:用户名,或者显示reboot(启动或者重启操作在这里会记录成reboot)

第二列信息:终端位置,pts/0 (伪终端或虚拟终端) 意味着从诸如SSH或telnet的远程连接的用户。

                 tty (teletypewriter) 意味着直接连接到计算机或者本地连接的用户,如果是启动或者重启操作,这里会显示成system boot

第三列信息:登录ip或者内核,如果你看见:0.0 或者什么都没有,这意味着用户通过本地终端连接。

                  也有在状态中显示内核版本的信息,笔者猜测这些记录应该是属于系统的操作,如开机,关机,重启等操作

第四列信息:开始时间,其中的日期格式为date +"%a %b %d"

第五列信息:结束时间(still login in 还未退出 down 直到正常关机 crash 直到强制关机)

第六列信息:持续时间

================================================================================

last命令的参数补充说明(以下参数同样合适lastb命令):

参    数:-a 把从何处登入系统的主机名称或IP地址,显示在最后一行;

     -d 将IP地址转换成主机名称。当用户从远端而非本地主机登入系统时,所记录的将不仅是主机名称,还包括该远端主机的IP地址。

                    默认情况下会用IP地址来显示远端的主机,使用这项参数可将其换成主机名称;

     -f 指定记录文件。预设last指令会去读取/var/log目录里的btmp文件;

     -n 设置列出名单的显示列数,如果你只想查询最后登入系统的10位用户名称,可将显示列数设成"10",

                   想查询最后的30位用户,则设为"30",依此类推;

     -R 不显示登入系统的主机名称或IP地址;

               -x 可显示系统关机、重新开机,以及执行等级的改变等信息。

 

尊重别人的劳动成果 转载请务必注明出处:http://www.cnblogs.com/5201351/p/5139677.html

显示环境登录的记录

常见命令操作

last

 

登录用户统计

1
last| awk '{S[$3]++}{for(a in S) print S[a],a}' |sort|uniq|sort -h

 

last命令用于显示用户最近登录信息。单独执行last命令,它会读取/var/log/wtmp的文件,并把该给文件的内容记录的登入系统的用户名单全部显示出来。

语法

last(选项)(参数)

选项

  1. -a:把从何处登入系统的主机名称或ip地址,显示在最后一行;
  2. -d:将IP地址转换成主机名称;
  3. -f <记录文件>:指定记录文件。
  4. -n <显示列数>或-<显示列数>:设置列出名单的显示列数;
  5. -R:不显示登入系统的主机名称或IP地址;
  6. -x:显示系统关机,重新开机,以及执行等级的改变等信息。

参数

  • 用户名:显示用户登录列表;
  • 终端:显示从指定终端的登录列表。

实例

last命令用了显示用户登录情况,以下是直接显示固定行数的记录:

  1. last -10
  2. root pts/0 221.6.45.34 Tue Dec 17 09:40 still logged in
  3. root pts/0 221.6.45.34 Mon Dec 16 09:00 - 11:57 (02:56)
  4. root pts/0 222.94.97.122 Sun Dec 15 20:39 - 23:28 (02:48)
  5. root pts/0 222.95.209.80 Sat Dec 14 14:39 - 14:58 (00:18)
  6. root pts/0 221.6.45.34 Thu Dec 12 16:55 - 17:37 (00:41)
  7. root pts/0 49.65.139.195 Wed Dec 11 20:40 - 21:16 (00:35)
  8. root pts/0 49.65.139.195 Wed Dec 11 19:46 - 20:03 (00:17)
  9. root pts/0 221.6.45.34 Tue Dec 10 14:41 - 15:52 (01:10)
  10. root pts/0 221.6.45.34 Mon Dec 9 17:24 - 17:30 (00:06)
  11. root pts/0 221.6.45.34 Mon Dec 9 09:38 - 11:41 (02:02)

详解:

last命令-->列出截止目前登录过系统的用户信息;是Linux内置的审计跟踪工具

last指令时,它会读取位于/var/log/wtmp的文件,并把该给文件的内容记录的登录系统的用户名单全部显示出来

last信息解读

第一列信息:用户名,或者显示reboot(启动或者重启操作在这里会记录成reboot)

第二列信息:终端位置,pts/0 (伪终端或虚拟终端) 意味着从诸如SSH或telnet的远程连接的用户。

                 tty (teletypewriter) 意味着直接连接到计算机或者本地连接的用户,如果是启动或者重启操作,这里会显示成system boot

第三列信息:登录ip或者内核,如果你看见:0.0 或者什么都没有,这意味着用户通过本地终端连接。

                  也有在状态中显示内核版本的信息,笔者猜测这些记录应该是属于系统的操作,如开机,关机,重启等操作

第四列信息:开始时间,其中的日期格式为date +"%a %b %d"

第五列信息:结束时间(still login in 还未退出 down 直到正常关机 crash 直到强制关机)

第六列信息:持续时间

 

 

【备注一】关于last命令的几点说明:
1. wtmp,btmp,utmp均为二进制文件,不能用cat查看,可用last打开
2. echo > /var/log/wtmp 可清空wtmp记录

 

【备注二】Linux系统的三个主要日志子系统: 
1. 进程日志(acct/pacct: 记录用户命令)
2. 错误日志(/var/log/messages:系统级信息;access-log:记录HTTP/WEB的信息)
3. 连接日志(/var/log/wtmp,/var/log/btmp,/var/run/utmp)
>>>有关当前登录用户的信息记录在文件utmp中;
>>>登录进入和退出纪录在文件wtmp中;
>>>最后一次登录文件可以用lastlog命令察看;
>>>数据交换、关机和重起也记录在wtmp文件中;

posted @ 2021-04-09 14:14  CharyGao  阅读(342)  评论(0)    收藏  举报