Linux登录信息查询

文章作者:Tyan
博客:noahsnail.com  |  CSDN  | 

1. Linux登录日志的存储

在Linux系统中,登录日志主要存储在三个文件中,/var/log/wtmp/var/run/utmp/var/log/lastlog。常用的查询命令有wwholastuserslastlog等。

2. w命令

  • w命令可用于显示当前登录系统的用户信息。
  • 执行这项指令可查询目前登录系统的用户有哪些人,以及正在执行的程序。
  • 单独执行w指令会显示所有的用户,也可以指定用户名称,仅显示某位用户的相关信息。
root@0b6987cc587f /workspace $ w
19:30  up 48 days,  3:05, 2 users, load averages: 2.11 2.11 2.14
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/2    192.168.0.1      Wed14    0.00s  0.08s  0.00s w
root     pts/16   192.168.0.1      Wed11    5:20   0.08s  0.08s -bash

w命令显示的对应信息如下:

当前时间,系统启动到现在的时间,登录用户的数目,系统在最近1秒、5秒和15秒的平均负载。

USER: 登录帐号
TTY : 终端名称
FROM: 远程主机名
LOGIN@: 登录时间
IDLE: 空闲时间
JCPU: 该TTY终端连接的所有进程的占用时间
PCPU: 当前进程(即w项中显示的)的占用时间
WHAT: 当前正在运行进程的命令行

3. who命令

who命令用于显示系统中有哪些登录用户。

root@0b6987cc587f /workspace $ who
root   pts/2        2019-05-08 19:14 (192.168.0.1)
root   pts/16       2019-05-08 18:39 (192.168.0.1)

who命令显示的对应信息如下:

登录帐号,终端名称,日期和时间,用户登录IP地址。

who am i用来查看当前登陆者的信息。

root@0b6987cc587f /workspace $ who am i
root   pts/2        2019-05-08 19:14 (192.168.0.1)

4. last命令

last命令用于显示用户最近登录信息。

root@0b6987cc587f /workspace $ last -n 3
root   pts/21      192.168.0.1    Thu May  9 12:01 - 19:00  (00:00)
root   pts/6        192.168.0.1    Wed May  8 18:30   still logged in
root   pts/2        192.168.0.1    Wed May  8 18:14   still logged in

wtmp begins Sun Dec 30 19:10:00 2018

last命令显示的对应信息如下:

用户名称,终端名称,远程主机名,日志活动发生时间,括号中的数字表示连接持续了多少小时和分钟。

5. users命令

users命令用于显示当前登录系统的所有用户列表。每个用户名对应一个登录会话。如果一个用户有不止一个登录会话,则用户名将显示相同的次数。

root@0b6987cc587f /workspace $ users
root root

6. lastlog命令

lastlog命令用于显示系统中所有用户最近一次的登录信息。

root@0b6987cc587f /workspace $ lastlog
Username         Port     From             Latest
root             pts/6    192.168.0.1      Sun Apr 28 18:38:20 +0800 2019
daemon                                     **Never logged in**
bin                                        **Never logged in**
sys                                        **Never logged in**
sync                                       **Never logged in**
games                                      **Never logged in**
man                                        **Never logged in**
lp                                         **Never logged in**
mail                                       **Never logged in**
news                                       **Never logged in**
uucp                                       **Never logged in**
proxy                                      **Never logged in**
www-data                                   **Never logged in**
backup                                     **Never logged in**
list                                       **Never logged in**
irc                                        **Never logged in**
gnats                                      **Never logged in**
nobody                                     **Never logged in**
systemd-timesync                           **Never logged in**
systemd-network                            **Never logged in**
systemd-resolve                            **Never logged in**
systemd-bus-proxy                           **Never logged in**
_apt                                       **Never logged in**
sshd                                       **Never logged in**

7. ac命令

ac命令计算所有用户总的连接时间,默认单位是小时,基于/var/log/wtmp文件统计。

root@0b6987cc587f /workspace $ ac
total     4595.16

参考资料

  1. http://www.runoob.com/linux/linux-comm-w.html
  2. http://www.runoob.com/linux/linux-comm-who.html
  3. https://linux.cn/article-2437-1.html
  4. http://www.runoob.com/linux/linux-comm-last.html
  5. http://man.linuxde.net/users
  6. http://man.linuxde.net/lastlog
  7. https://cnbin.github.io/blog/2015/06/26/linux-ac-ming-ling/

你可能感兴趣的:(Linux登录信息查询)