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系列(32)--ansible实战之部署WEB集群架构(2)

    1. 基础环境role编写 创建基础环境role的相关目录: [root@xuzhichao cluster-roles]# mkdir base-module/{tasks,handlers,fil ...

  2. 30分钟带你搞定Dokcer部署Kafka集群

    docker网络规划 docker network create kafka-net --subnet 172.20.0.0/16 docker network ls zookeeper1(172.2 ...

  3. .NET中特性+反射 实现数据校验

    .NET中特性+反射 实现数据校验 在.NET中,我们可以使用特性+反射来实现数据校验.特性是一种用于为程序中的代码添加元数据的机制.元数据是与程序中的代码相关联的数据,但不直接成为代码的一部分.通过 ...

  4. linux分区规划

    一般来说,对系统进行分区,需要提前规划好: ​ 系统分区:如果资源允许的话,建议300G(该分区只存放操作系统和一些配置文件等): ​ /boot分区:是引导分区(该分区损坏,系统就启动不了了),在b ...

  5. C# 调用 qrencode的动态库

    自己根据qrencode的源码导了一个dll动态库,见: https://www.cnblogs.com/HelloQLQ/p/16364825.html 自己希望能用C#语言调用以下. 首先构建需要 ...

  6. .NET集成DeveloperSharp实现http网络请求&与其它工具的比较

    爆了,爆了,DeveloperSharp系列近期又被制造业ERP.民航飞行App.建筑BIM.电力掌上营业厅.等多家大型采用,站在巨人的肩膀上你能走的更远. 支持.Net Core2.0及以上,支持. ...

  7. 7.12考试总结(NOIP模拟12)[简单的区间·简单的玄学·简单的填数]

    即使想放弃,也没法放弃最想要的东西,这就是人 前言 这次应该是和 SDFZ 一起打的第一场比赛吧. 然而我还是 FW 一个... 这次考试也有不少遗憾,主要的问题是码力不足,不敢去直面正解,思考程度不 ...

  8. 记 Codes 开源免费研发管理平台 —— 日报与工时融合集中式填报的创新实现

    继上一回合生成式全局看板的创新实现后,本篇我们来讲一讲日报与工时融合集中式填报的创新实现. 市面上所有的研发管理软件,大多都有工时相关功能,但是却没有日报功能,好像也没什么问题,但是在使用过程中体验非 ...

  9. vue3项目安装依赖报错 npm ERR! code ERESOLVE

    vue3项目安装依赖报错 npm ERR! code ERESOLVE npm ERR! ERESOLVE could not resolve npm ERR! npm ERR! While reso ...

  10. Windows下cmd命令行sftp上传至Linux服务器

    1.Windows+R进入运行 2.输入cmd,进入命令行 3.命令建立连接 sftp 用户名@ip地址 例如: 输入密码,即可建立连接 上传方式: 1)直接拖动文件到命令行窗口,可以直接显示该文件的 ...