Ubuntu 查看用户历史记录


1. 查看用户命令行历史记录

1. 查看当前登录账号所属用户的历史命令行记录

打开命令行,输入

history

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

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

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

  1. 检查系统是否有locate工具

    locate --version

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

    sudo apt install mlocate

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

  2. 更新locate索引

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

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

    locate .bash_history
  4. 查看命令行历史记录文件

    按照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服务器安全与防护-查看和隐藏登录信息

Ubuntu 查看用户历史记录的更多相关文章

  1. ubuntu查看系统资源占用(内存,cpu和进程)

    ubuntu查看系统资源占用(内存,cpu和进程) 1  top 查看ubuntu的资源占用的命令为$: top    说明:top命令就可以查看内存,cpu和进程了,很方便 top: 主要参数 d: ...

  2. Linux查看用户和组命令

    在Linux系统里,我们会经常用Linux查看用户的命令,在这里我们一些命令进行了总结,总共有7个,并做了详细的解释,以便让大家更深入的理解,接下来让我们一起来看看这些命令和具体应用. 一.Linux ...

  3. Ubuntu操作用户账户

    Git Gerrit $是普通管员,#是系统管理员,在Ubuntu下,root用户默认是没有密码的,因此也就无法使用(据说是为了安全).想用root的话,得给root用户设置一个密码: sudo pa ...

  4. linux查看用户登录时间以及命令历史

    1.查看当前登录用户信息 who命令: who缺省输出包括用户名.终端类型.登陆日期以及远程主机. who /var/log/wtmp 可以查看自从wtmp文件创建以来的每一次登陆情况 (1)-b:查 ...

  5. ref:linux查看用户登录时间以及命令历史

    ref:https://blog.csdn.net/csdn924618338/article/details/73555725/ 1.查看当前登录用户信息 who命令: who缺省输出包括用户名.终 ...

  6. linux 用户管理(3)----查看用户登录时间以及命令历史

    1.查看当前登录用户信息 who命令: who缺省输出包括用户名.终端类型.登陆日期以及远程主机. who /var/log/wtmp 可以查看自从wtmp文件创建以来的每一次登陆情况 (1)-b:查 ...

  7. ubuntu查看mysql版本的几种方法

    ubuntu查看mysql版本的几种方法 mysql 1:在终端下:mysql -V(大写) //代码 $ mysql -V mysql Ver 14.14 Distrib 5.5.46, for d ...

  8. linux(ubuntu) 查看系统设备信息

    ubuntu查看版本命令 方法一: 在终端中执行下列指令: cat /etc/issue 方法二: 使用 lsb_release 命令也可以查看 Ubuntu 的版本号,与方法一相比,内容更为详细. ...

  9. ubuntu查看系统资源占用(内存,cpu和进程)

    http://blog.csdn.net/vivian187/article/details/51476043 http://bluexp29.blog.163.com/blog/static/338 ...

  10. Linux组管理、用户管理、查看用户信息、usermod、which、切换用户、修改文件具体权限

    组管理 提示:创建组/删除组的终端命令都需要通过sudo执行 序号 命令 作用 01 groupadd组名 添加组 02 groupdel组名 删除组 03 cat/etc/group 确认组信息 0 ...

随机推荐

  1. ansible(11)--ansible的user和group模块

    1. group模块 功能:管理被控端用户组: 主要参数如下: 参数 说明 name 指定创建的组名 gid 为组设置gid state 是否将组创建在远程主机上,创建:present(Default ...

  2. CentOS7部署Docker(联网)

    一.参考地址 https://blog.csdn.net/m0_49762804/article/details/131398587 二.Docker安装 安装依赖环境,yum-utils ## 检查 ...

  3. 怎么在线给pdf加盖电子公章

    1前言:由于电子印章在工作中的普及,其方便易用性,也得到大家的认可. 目前我们在公文流转过程中,到最后常常需要在pdf文档进行电子盖章. 2方法:此文,主要是使用一个方便易用的在线pdf印章工具,pa ...

  4. docker之docker-compose

    docker-compose就是个二进制的工具,它可以单机编排,批量管理多个容器 [root@mcwk8s01 harbor]# file /usr/local/bin/docker-compose ...

  5. kubernetes 之二进制方式部署

    我的资料链接:https://pan.baidu.com/s/18g0sar1N-FMhzY-FCMqOog 两种集群架构图 多master需要在集群上面加个lb,所有的node都需要连接lb,lb帮 ...

  6. go高并发之路——缓存击穿

    缓存击穿,Redis中的某个热点key不存在或者过期,但是此时有大量的用户访问该key.比如xxx直播间优惠券抢购.xxx商品活动,这时候大量用户会在某个时间点一同访问该热点事件.但是可能由于某种原因 ...

  7. 如何利用 Seaborn 实现高级统计图表

    本文分享自华为云社区<使用 Seaborn 实现高级统计图表从箱线图到多变量关系探索> ,作者:柠檬味拥抱. 在数据科学和数据可视化领域,Seaborn 是一个备受欢迎的 Python 可 ...

  8. yapi-plugin-notifier 插件安装报react 16.9.0版本错误 解决

    使用yapi 1.9.2版本. 将配置的json文件替换掉. 参考这个issues解决方案:https://github.com/YMFE/yapi/issues/2109

  9. windows下IPv4通信(C++、MFC)

    Cilect #include <stdio.h> #include <Ws2tcpip.h> #include <winsock2.h> #define HELL ...

  10. svn递归添加目录下面所有文件

    进入根目录:$ svn add * --force A foo.c A somedir/bar.c A otherdir/docs/baz.doc