【Linux】如何优雅的检查Linux上的用户登录、关机和重启日志

news/2024/9/25 16:49:42/

在诸如Ubuntu、Debian、Linux Mint、Fedora和Red Hat等广受欢迎的Linux发行版中,系统会忠实记录用户的登录、关机、重启以及运行时长信息。这些信息对管理员调查事件、排查故障或汇总用户活动报告极为宝贵。

Linux系统及应用程序日志通常保存在/var/log/目录下,通过命令如catjournalctl可访问。此外,还有一些命令利用内核管理的特殊文件来监控用户活动。本文将介绍几种帮助你查看用户登录、关机、重启日志及系统运行时长的有效命令。

使用Who命令

Linux中的who命令能展示与用户登录相关的信息,包括账号名、终端、登录时间、登录来源的主机名或IP地址。

$ who

输出示例(请想象此处应有图片展示):。
用户登录详情

使用-b标志可查询当前登录(或最近重启)的日期和时间。

$ who -b

输出示例(此处同样应有图片展示):

输出

使用Last命令

Linux的last命令从/var/log/wtmp文件读取数据,显示用户最后登录的列表、持续时间及其他信息。

$ last <用户名>

输出示例(图片形式):特定用户的最后登录情况。
在这里插入图片描述
不指定用户名而使用reboot参数,可获取Linux最近重启的时间和日期。

$ last reboot

输出示例(图片):最近一次用户重启信息。

在这里插入图片描述

使用Uptime命令

uptime命令显示当前时间、系统运行时长、登录用户数及过去1、5、15分钟内的平均CPU负载。

$ uptime

输出示例(图片):系统运行时长等信息。
在这里插入图片描述

使用-p仅显示系统启动时长,-s打印系统启动的确切日期和时间。

$ uptime -p
$ uptime -s

输出示例(图片):系统启动的日期和时间。
在这里插入图片描述

使用Journalctl命令

journalctl命令查询系统日志,用于显示更多详细信息,如系统启动次数。

$ journalctl --list-boots

输出示例(图片):系统启动次数。
在这里插入图片描述

指定BOOT IDs使用-b标志可获得更详细信息。

$ journalctl -b <boot_id>

输出示例(图片):最近几次重启的详细记录。
在这里插入图片描述

查找导致关机/重启的原因

服务器若发生非预期的关机或重启,可能需要调查原因并确定责任方。可用以下命令实现:

$ sudo journalctl | grep shutdown

输出示例(图片):包含关机或重启记录的系统日志。
在这里插入图片描述

上述输出首条记录通常表明有人执行了关机操作,结合文中其他方法可进一步锁定操作者。

总结

本文介绍了如何检查用户登录记录、系统关机和重启时间,以及追踪这些操作背后的实体。如有相关疑问,欢迎在评论区留言讨论。


http://www.ppmy.cn/news/1463100.html

相关文章

「 网络安全常用术语解读 」静态应用安全测试SAST详解

1. 概念 静态应用安全测试 (SAST&#xff0c;Static Application Security Testing) 也称静态分析&#xff0c;是一种测试方法&#xff0c;通过分析源代码来发现应用受到攻击的安全漏洞。SAST 在编译代码之前扫描应用&#xff0c;故又经常被称为白盒测试。 2. SAST 典型应用场…

js禁止使用浏览器的前进后退按钮的方法

效果图&#xff1a; // 替换当前页面的历史记录&#xff0c;使用户不能通过浏览器的前进后退按钮导航 history.replaceState(null, null, location.href);// 监听浏览器的历史记录变化事件 window.onpopstate function(event) {// 再次替换当前页面的历史记录&#xff0c;确保…

简单易懂的 API 集成测试方法

简介&#xff1a;API 集成测试的重要性 API 集成测试是一类测试活动&#xff0c;用于验证 API 是否满足功能性、可靠性、性能和安全性等方面的预期要求。在多 API 协作的应用程序中&#xff0c;这种测试尤为紧要。 在这一阶段&#xff0c;我们不仅审视单个组件&#xff0c;还…

【Javascript】Promise形象比喻

我们可以把 Promise 形象地比喻为一个“外卖订单”&#xff0c;它有三种状态&#xff1a;下单中、已送达、已取消。这个比喻可以帮助你理解 Promise 的工作机制。 比喻解释 Pending&#xff08;下单中&#xff09;&#xff1a; 当你在外卖平台上创建一个订单时&#xff0c;订…

页面<html>上多了一个滚动条,定位发现是<body>里面多了一个id为trans-tooltip的div

现象分析&#xff1a; 页面根标签html多了一个滚动条&#xff0c;发现body里面多了一个id为trans-tooltip的div&#xff0c;虽然width为0&#xff0c;height为0&#xff0c;但是其子元素还是有高度&#xff0c;占据了空间&#xff0c;最终导致了滚动条&#xff1b; 根本原因&…

二进制中1的个数c++

题目描述 计算鸭给定一个十进制非负整数 NN&#xff0c;求其对应 22 进制数中 11 的个数。 输入 输入包含一行&#xff0c;包含一个非负整数 NN。(N < 10^9) 输出 输出一行&#xff0c;包含一个整数&#xff0c;表示 NN 的 22 进制表示中 11 的个数。 样例输入 100 …

Java进阶学习笔记24——Object类

Object类: Object类是Java中所有类的祖宗类&#xff0c;因此&#xff0c;Java中所有类的对象都可以直接使用Object类中提供的一些方法。 所有类都是Object类的子孙类。 API文档&#xff1a; Object类的成员方法&#xff1a; Object类的常见方法&#xff1a; Student类&…

【代码随想录训练营】【Day 29】【回溯-3】| Leetcode 39, 41, 131

【代码随想录训练营】【Day 29】【回溯-3】| Leetcode 39&#xff0c; 41&#xff0c; 131 需强化知识点 startInex作用&#xff1a;一是处理是否可以有重复值&#xff0c;二是实现纵向遍历&#xff08;不能没有&#xff09;去重要在数组有序的前提下进行分割问题 题目 39.…