就会看到当前登录账号所属用户的历史记录

2. 查看系统所有用户的历史命令行记录

一般情况下,在ubuntu系统中,系统会自动把用户命令行动作记录到当前用户目录下的 .bash_history 文件中,可以通过在系统中搜索 .bash_history 的方式查看系统所有用户的命令行历史记录。具体步骤如下:

检查系统是否有locate工具

locate --version

如果没有,可以根据系统提示安装:

sudo apt install mlocate

之后重复执行 locate --version指令,检查是否安装成功。

更新locate索引

执行指令更新locate指令的索引

sudo updatedb

在系统中查找所有的命令行历史记录文件 .bash_history

locate .bash_history

查看命令行历史记录文件

按照3中查出来的所有记录,可查看指定用户的命令行历史记录。

比如,查看用户 brian 的命令行历史记录:

cat /home/brian/.bash_history

2. 查看ssh远程登录记录

1. 查看成功登录日志
sudo last -x

执行结果如下

tms@tms-Precision-Tower-3620:~$ sudo last -x
tms      pts/23       192.168.1.1        Wed Aug 31 15:54   still logged in
runlevel (to lvl 5)   4.15.0-142-gener Mon Aug 29 11:40   still running
tms      tty7         :0               Mon Aug 29 11:40    gone - no logout
reboot   system boot  4.15.0-142-gener Mon Aug 29 11:39   still running
runlevel (to lvl 5)   4.15.0-142-gener Mon Aug 29 10:26 - 11:40  (01:13)
tms      tty7         :0               Mon Aug 29 10:26 - crash  (01:13)
reboot   system boot  4.15.0-142-gener Mon Aug 29 10:26   still running
runlevel (to lvl 5)   4.15.0-142-gener Mon Aug 29 10:03 - 10:26  (00:23)
tms      tty7         :0               Mon Aug 29 10:02 - crash  (00:23)
reboot   system boot  4.15.0-142-gener Mon Aug 29 10:02   still running
runlevel (to lvl 5)   4.15.0-142-gener Fri Aug 26 18:06 - 10:03 (2+15:56)
tms      tty7         :0               Fri Aug 26 18:06 - crash (2+15:56)
reboot   system boot  4.15.0-142-gener Fri Aug 26 18:05   still running
runlevel (to lvl 5)   4.15.0-142-gener Fri Aug 26 14:40 - 18:06  (03:26)
tms      tty7         :0               Fri Aug 26 14:40 - crash  (03:25)
reboot   system boot  4.15.0-142-gener Fri Aug 26 14:39   still running
tms      tty7         :0               Mon Aug 15 14:41 - crash (10+23:58)
runlevel (to lvl 5)   4.15.0-142-gener Mon Aug 15 13:51 - 14:40 (11+00:49)
reboot   system boot  4.15.0-142-gener Mon Aug 15 13:50   still running
wtmp begins Mon Aug  1 10:28:16 2022

第一列信息:登录用户名。启动或者重启操作在这里会记录成 reboot,运行级别变化会记录为 runlevel,相当于把 reboot 和 runlevel 记录成系统指令。除去这两个字段都是实际用户名;

PS: runlevel运行级别

*0: 关机级别
*1: 单用户运行级别,运行rc.sysinit和rc1.d目录下的脚本
*2: 多用户,但系统不会启动NFS,字符模式,在有些linux系统中,级别2为默认模式,具有网络功能,如ubuntu.debian
*3: 多用户,字符模式,系统启动具有网络功能,redhat常用运行级别
*4: 用户自定义级别
*5: 图形界面模式,redhat常用运行级别
*6: 重启级别
*S: 单用户运行级别,只运行rc.sysinit文件第二列信息:终端位置。

pts/0 (伪终端或虚拟终端) 意味着从诸如SSH或telnet的远程连接的用户。

tty (teletypewriter) 意味着直接连接到计算机或者本地连接的用户,也就是本地登录调出的终端界面,其中tty[1-6]指 ctrl+alt+F1~ctrl+alt+F6调出的界面;tty7指桌面图形界面(可以使用ctrl+alt+F7切换回来);

如果是启动或者重启操作,这里会显示成system boot

第三列信息:登录地ip 或者 内核。如果看见 :0.0 或者什么都没有,这意味着用户通过本地终端连接。显示内核版本的信息,应该是属于系统的操作,如开机,关机,重启等操作;

第四列信息:开始登录时间。

第五列信息:结束登录是时间。still logged in 表示还未退出,down表示直到正常关机,crash 表示直到强制关机;

第六列信息(括号中的信息):表示整个登录过程持续的时间。格式为 小时:分钟

2. 查看登录失败日志
sudo lastb -x

执行结果如下:

tms@tms-Precision-Tower-3620:~$ sudo lastb -x
tms      ssh:notty    192.168.1.1        Wed Aug 31 15:37 - 15:37  (00:00)
tms      ssh:notty    192.168.1.2       Tue Aug 16 14:08 - 14:08  (00:00)
btmp begins Tue Aug 16 14:08:40 2022

每列代表数据参考1查看成功登录日志

3. 查看最后一次登录日志
sudo lastlog

运行结果如下:

用户名           端口     来自             最后登陆时间
root                                       **从未登录过**
daemon                                     **从未登录过**
bin                                        **从未登录过**
sys                                        **从未登录过**
sync                                       **从未登录过**
games                                      **从未登录过**
man                                        **从未登录过**
lp                                         **从未登录过**
mail                                       **从未登录过**
news                                       **从未登录过**
uucp                                       **从未登录过**
proxy                                      **从未登录过**
www-data                                   **从未登录过**
backup                                     **从未登录过**
list                                       **从未登录过**
irc                                        **从未登录过**
gnats                                      **从未登录过**
nobody                                     **从未登录过**
systemd-timesync                           **从未登录过**
systemd-network                            **从未登录过**
systemd-resolve                            **从未登录过**
systemd-bus-proxy                           **从未登录过**
syslog                                     **从未登录过**
_apt                                       **从未登录过**
messagebus                                 **从未登录过**
uuidd                                      **从未登录过**
lightdm                                    **从未登录过**
whoopsie                                   **从未登录过**
avahi-autoipd                              **从未登录过**
avahi                                      **从未登录过**
colord                                     **从未登录过**
speech-dispatcher                           **从未登录过**
hplip                                      **从未登录过**
kernoops                                   **从未登录过**
pulse                                      **从未登录过**
rtkit                                      **从未登录过**
saned                                      **从未登录过**
usbmux                                     **从未登录过**
ntp                                        **从未登录过**
sshd                                       **从未登录过**
statd                                      **从未登录过**
guest-0b7lra                               **从未登录过**
guest-70tclo                               **从未登录过**

可以看到,用户名为tms的用户,在2022年8月31日 16:50:42远程登录了服务器。

4. 查看当前登录的用户
sudo who

返回信息:

tms@tms-Precision-Tower-3620:~$ sudo who
tms      tty7         2022-08-29 11:40 (:0)
tms      pts/0        2022-08-31 16:50 (192.168.1.1)
tms      pts/19       2022-08-31 15:01 (192.168.1.1)
tms      pts/20       2022-08-31 15:15 (192.168.1.1)
tms      pts/21       2022-08-31 15:27 (192.168.1.1)
tms      pts/22       2022-08-31 15:37 (192.168.1.1)
tms      pts/23       2022-08-31 15:54 (192.168.1.1)

3. 查看火狐浏览器使用记录

1. 从火狐浏览器导出使用记录

安装工具 sqlite3

# 查看是否已安装工具sqlite3
sqlite3 --version
# 3.11.0 2016-02-15 17:29:24 3d862f207e3adc00f78066799ac5a8c282430a5f
# 如果没安装,执行
sudo apt install sqlite3

安装完毕,执行指令:

sqlite3 ~/.mozilla/firefox/*default/places.sqlite "SELECT datetime(moz_historyvisits.visit_date/1000000,'unixepoch'), moz_places.url FROM moz_places, moz_historyvisits WHERE moz_places.id = moz_historyvisits.place_id"|sort

系统打印信息如下:

2022-08-31 05:15:08|https://www.mozilla.org/privacy/firefox/
2022-08-31 05:15:10|https://www.mozilla.org/en-US/privacy/firefox/
2022-08-31 10:31:26|http://www.baidu.com/
2022-08-31 10:31:28|https://www.baidu.com/

[1]. ubuntu服务器安全与防护-查看和隐藏登录信息