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)
查看更多教程 https://on  itroad.com

finger

finger命令显示有关本地和远程系统用户的信息。
默认情况下,显示当前登录本地主机的每个用户的信息如下:

  1. 用户登录名
  2. 用户全名
  3. 关联终端名称
  4. 空闲时间
  5. 登录时间(以及从哪里)

我们可以使用诸如 -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.
在 Linux 下如何监控用户活动

作为系统管理员,我们最重要的任务之一是监控系统是否有任何可能表明安全受到威胁的可疑活动并对其采取行动。
我们应该评估登录活动是否存在安全漏洞的迹象,例如多次登录失败。

注意:查看 /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(显示版本信息)等选项。

日期:2020-09-17 00:14:55 来源:oir作者:oir