lastlog
lastlog 命令格式化并打印上次登录日志文件 (/var/log/lastlog) 的内容。
显示登录名、端口和上次登录时间。
输入不带选项的命令将显示按数字 ID 排序的条目。
我们可以使用 -u login_name(仅显示指定用户的信息)和 -h(显示单行帮助消息)等选项。
如果用户从未登录,则会显示消息 从未登录代替端口和时间。
例如,输入 lastlog 会返回类似如下的信息:
# lastlog Username Port From Latest root pts/0 Sun Dec 17 00:05:43 -0500 2017 bin **Never logged in** daemon **Never logged in** adm **Never logged in** .... chrony **Never logged in** ec2-user **Never logged in** user pts/0 Sun Dec 17 00:05:35 -0500 2017
who
who 命令显示当前登录系统的人员以及上次登录时间等信息。
我们可以使用选项,例如
-H(显示列标题)
-r(当前运行级别)
-a(显示大多数选项提供的信息)。
例如,输入 who -H 会返回类似于以下内容的信息:
# who -H NAME LINE TIME COMMENT user pts/0 2017-12-14 09:58
同样,命令 'who -a' 将显示如下所示的输出。
# who -a system boot 2017-12-14 09:51 LOGIN ttyS0 2017-12-14 09:52 1103 id=tyS0 LOGIN tty1 2017-12-14 09:52 1102 id=tty1 run-level 3 2017-12-14 09:53 user + pts/0 2017-12-14 09:58 . 1164
last
last命令显示自 /var/log/wtmp 文件创建以来登录和注销的用户列表。
last命令搜索 /var/log/wtmp 文件(或者由 -f 选项指定的文件)并显示自该文件创建以来已登录(和退出)的所有用户的列表。
我们可以指定用户和 TTY 的名称以仅显示这些条目的信息。
我们可以使用诸如 -n(其中 n 是要显示的行数)、-a(在最后一列中显示主机名)和 -x(显示系统关闭条目和运行级别更改)等选项。
例如,输入 last -ax 会返回类似于以下内容的信息:
# last -ax user pts/0 Sun Dec 17 00:05 still logged in runlevel (to lvl 3) Sun Dec 17 00:04 - 00:09 (00:05) 3.10.0-693.11.1.el7.x86_64 reboot system boot Sun Dec 17 00:03 - 00:09 (00:05) 3.10.0-693.11.1.el7.x86_64 shutdown system down Thu Dec 14 13:05 - 00:03 (2+10:58) 3.10.0-693.11.1.el7.x86_64 user pts/1 Thu Dec 14 11:05 - down (02:00) user pts/0 Thu Dec 14 09:58 - down (03:06)
finger
finger命令显示有关本地和远程系统用户的信息。
默认情况下,显示当前登录本地主机的每个用户的信息如下:
- 用户登录名
- 用户全名
- 关联终端名称
- 空闲时间
- 登录时间(以及从哪里)
我们可以使用诸如 -l(长格式)和 -s(短格式)之类的选项。
例如,输入 'finger -s' 会返回类似于以下内容的信息:
# finger -s Login Name Tty Idle Login Time Office Office Phone Host user pts/0 1:18 Dec 14 09:58 user pts/1 Dec 14 11:05
# finger -l Login: user Name: Directory: /home/user Shell: /bin/bash On since Thu Dec 14 09:58 (EST) on pts/0 1 hour 18 minutes idle On since Thu Dec 14 11:05 (EST) on pts/1 1 second idle No mail. No Plan.
作为系统管理员,我们最重要的任务之一是监控系统是否有任何可能表明安全受到威胁的可疑活动并对其采取行动。
我们应该评估登录活动是否存在安全漏洞的迹象,例如多次登录失败。
注意:查看 /var/log/messages 等文件还可以为我们提供有关登录活动的信息。
要监控登录活动,我们可以使用以下命令:
w
'w' 命令显示有关当前在机器上的用户及其进程的信息。
第一行包括有关当前时间、系统运行了多长时间、当前登录的用户数以及过去 1、5 和 15 分钟的系统负载平均值的信息。
第一行下方是每个用户的条目,显示登录名、TTY 名称、远程主机、登录时间、空闲时间、JCPU、PCPU 和用户当前进程的命令行。
下面是 w 命令的示例输出。
# w 11:05:37 up 1:14, 2 users, load average: 0.00, 0.01, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT user pts/0 09:58 1:04m 0.38s 1.74s login -- user user pts/1 11:05 1.00s 0.03s 0.15s login -- user
JCPU 时间是连接到 tty 的所有进程使用的时间。
它不包括过去的后台作业,但包括当前正在运行的后台作业。
PCPU时间是当前进程使用的时间,命名为
什么字段。
我们可以使用 -h(不显示标题)、-s(不显示登录时间、JCPU 和 PCPU)和 -V(显示版本信息)等选项。