按终端记录过去 24 小时的用户活动

按终端记录过去 24 小时的用户活动

如何在系统中通过终端记录过去 24 小时内用户的活动?哪个命令可以提供此信息?

答案1

  • ~/.bash_history将显示用户使用的命令。
  • 安装帐户sudo apt-get install acct除了登录/注销之外。它提供每个用户运行的每个命令的日志。下面提到的命令是 acct 的功能
    • ac 打印连接时间的统计信息
    • accton 打开或关闭会计功能
    • last 列出用户和条款的最后登录信息
    • lastcomm 列出最后执行的命令
    • sa 打印会计统计信息
    • dump-acct 以人类可读的形式打印会计文件

答案2

“last”命令旨在为您提供这些信息。

例子:

laptop:~% last
userx pts/0        :0.0             Mon Sep  3 11:31   still logged in   
userx pts/0        :0.0             Mon Sep  3 11:30 - 11:30  (00:00)    
userx pts/0        :0.0             Mon Sep  3 11:30 - 11:30  (00:00)    
userx pts/4        :0.0             Mon Sep  3 11:25   still logged in   
userx pts/2        :0.0             Mon Sep  3 11:23 - 11:28  (00:05)    
userx pts/2        :0.0             Mon Sep  3 11:20 - 11:20  (00:00)    
root  pts/1        :0.0             Mon Sep  3 11:19 - 11:28  (00:09)    
root  pts/1        :0.0             Mon Sep  3 11:19 - 11:19  (00:00)    
userx pts/0        :0.0             Mon Sep  3 11:10 - 11:12  (00:01)    
root  pts/1        :0.0             Mon Sep  3 11:05 - 11:10  (00:04)    
userx pts/3        :0.0             Mon Sep  3 10:18   still logged in   

wtmp begins Mon Sep  3 10:18:35 2012

但是据我所知,没有选项可以将查找限制在过去 24 小时内。

答案3

  1. WHO

who 命令显示当前登录系统的用户以及上次登录时间等信息。您可以使用 -H(显示列标题)-r(当前运行级别)-a(显示大多数选项提供的信息)等选项。

'w' 命令显示有关当前机器上的用户及其进程的信息。第一行包括有关当前时间、系统运行时间、当前登录用户数以及过去 1、5 和 15 分钟的系统负载平均值的信息。

  1. 最后的

last 命令显示自 /var/log/wtmp 文件创建以来登录和退出的用户列表。last 命令搜索 /var/log/wtmp 文件(或 -f 选项指定的文件),并显示自文件创建以来登录(和退出)的所有用户的列表。您可以指定用户名和 TTY,以仅显示这些条目的信息。

  1. 最后日志

lastlog 命令格式化并打印上次登录日志文件 (/var/log/lastlog) 的内容。显示登录名、端口和上次登录时间。

输入不带选项的命令将显示按数字 ID 排序的条目。您可以使用诸如 -u login_name(仅显示指定用户的信息)和 -h(显示一行帮助消息)之类的选项。如果用户从未登录过,则消息从未登录将显示端口和时间的位置。例如,输入 lastlog 将返回类似以下内容的信息:

相关内容