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. vben集成keycloak

    前言 公司的项目是vben admin框架需要集成keycloak,那keycloak大家应该都不陌生了,就是统一认证的一个系统简称IDS.之前用过cas,并重构过cas的前端界面,所以对此也是比较熟 ...

  2. MSP 通过 Splashtop SOS 远程支持非托管设备

    RMM 是 MSP 的绝佳工具.它们使 MSP 可以通过集中控制台来管理其所有客户计算机,通常使他们能够远程访问任何计算机以提供远程支持. 但是,这样做的一个很大限制是--并非所有客户设备都在 MSP ...

  3. 用pageOffice控件实现 office word文档在线编辑 表格中写数据的方法

    PageOffice对Word文档中Table的操作,包括给单元格赋值和动态添加行的效果. 1 应用场景 OA办公中,经常要在文档的指定位置表格,填充后端指定数据. 如word文档中,表格数据 如下表 ...

  4. 我开源的H5商城2.0版本发布,强烈推荐

    简介 waynboot-mall 是一套全部开源的 H5 商城项目,包含运营后台.H5 商城前台和后端接口三个项目 .实现了一套完整的商城业务,有首页展示.商品分类.商品详情.sku 详情.商品搜索. ...

  5. 自动化部署elasticsearch三节点集群

    什么是Elasticsearch? Elasticsearch 是一个开源的分布式搜索和分析引擎,构建在 Apache Lucene 的基础上.它提供了一个分布式多租户的全文搜索引擎,具有实时分析功能 ...

  6. C# wpf 使用 polyline 做一个贪吃蛇游戏的小蛇移动吃食部分功能

    wpf中 polyline 里有一个存放Point的集合,方向靠蛇头的前两个点的向量旋转控制.我发现,靠计算向量来旋转十分的方便.蛇的移动,就是按照蛇头计算的向量,加一个移动长度,然后得到新的点,然后 ...

  7. 史上最全shell脚本编程语法上册

    1. shell 脚本语言的基本用法 1.1 shell 脚本的用途 将简单的命令组合完成复杂的工作,自动化执行命令,提高工作效率: 减少手工命令的输入,一定程度上避免人为错误: 将软件或应用的安装及 ...

  8. CSS操作——列表属性

    CSS中提供了一些列表属性可以用来: ​ (1).设置不同的列表项标记为有序列表 ​ (2).设置不同的列表项标记为无序列表 ​ (3).设置列表项标记为图像 list-style-type(系统提供 ...

  9. 日常Bug排查-MVCC和for update混用导致读数据不一致

    日常Bug排查-MVCC和for update混用导致读数据不一致 前言 日常Bug排查系列都是一些简单Bug的排查.笔者将在这里介绍一些排查Bug的简单技巧,同时顺便积累素材. Bug现场 又是喜闻 ...

  10. vue-devtools

    今天分享个vue的开发者工具,vue2和vue3都可以使用 先来看个效果: 如何安装? 打开官网vue-devtools 选择你需要版本 安装完记得重启下浏览器,不然是没效果的