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

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

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

使用Who命令

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

bash 复制代码
$ who

输出示例(请想象此处应有图片展示):。

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

bash 复制代码
$ who -b

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

使用Last命令

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

bash 复制代码
$ last <用户名>

输出示例(图片形式):特定用户的最后登录情况。

不指定用户名而使用reboot参数,可获取Linux最近重启的时间和日期。

bash 复制代码
$ last reboot

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

使用Uptime命令

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

bash 复制代码
$ uptime

输出示例(图片):系统运行时长等信息。

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

bash 复制代码
$ uptime -p
$ uptime -s

输出示例(图片):系统启动的日期和时间。

使用Journalctl命令

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

bash 复制代码
$ journalctl --list-boots

输出示例(图片):系统启动次数。

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

bash 复制代码
$ journalctl -b <boot_id>

输出示例(图片):最近几次重启的详细记录。

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

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

bash 复制代码
$ sudo journalctl | grep shutdown

输出示例(图片):包含关机或重启记录的系统日志。

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

总结

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

相关推荐
爱滑雪的码农几秒前
快速熟悉Nginx
运维·nginx·dubbo
Betty’s Sweet9 分钟前
[Linux]:线程(三)
linux·线程·信号量·生产者消费者模型
0DayHP16 分钟前
HTB:Bike[WriteUP]
运维·服务器
DieSnowK17 分钟前
[C++][第三方库][httplib]详细讲解
服务器·开发语言·c++·http·第三方库·新手向·httplib
程序员南飞2 小时前
ps aux | grep smart_webrtc这条指令代表什么意思
java·linux·ubuntu·webrtc
StrokeAce2 小时前
linux桌面软件(wps)内嵌到主窗口后的关闭问题
linux·c++·qt·wps·窗口内嵌
热爱嵌入式的小许6 小时前
Linux基础项目开发1:量产工具——显示系统
linux·运维·服务器·韦东山量产工具
韩楚风10 小时前
【linux 多进程并发】linux进程状态与生命周期各阶段转换,进程状态查看分析,助力高性能优化
linux·服务器·性能优化·架构·gnu
陈苏同学10 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
Ambition_LAO10 小时前
解决:进入 WSL(Windows Subsystem for Linux)以及将 PyCharm 2024 连接到 WSL
linux·pycharm