linux命令:用于显示系统中所有用户最后一次登录信息的命令lastlog详解

目录

一、概述

二、基本功能

1、查看用户最后登录信息

2、安全审计

三、语法和基本使用

1、基本语法

2、常用选项

3、获取帮助

四、基本用法

 1. 显示所有用户的最后登录信息

 2. 显示特定用户的最后登录信息

 3. 显示在指定天数内登录过的用户

 4. 显示在指定天数前登录过的用户

 5. 使用自定义的 lastlog 文件

五、高级用法

 1. 结合管道和文本处理工具

 2. 查找从未登录过的用户

六、注意事项

1. 权限要求

2. 文件大小限制

3. 安全性

4. 与其他日志工具结合使用

七、总结


一、概述

        lastlog 是 Linux 系统中一个用于显示系统中所有用户最后一次登录信息的命令。它读取 /var/log/lastlog 文件,该文件记录了每个用户最近一次登录的时间、主机和端口等信息。lastlog 命令在系统管理和安全审计中非常有用,可以帮助管理员监控用户的登录活动,识别潜在的安全威胁。

二、基本功能

1、查看用户最后登录信息

        显示系统中所有用户或指定用户的最后一次登录时间、登录地点(主机)和登录端口。

2、安全审计

        通过分析用户的登录模式,检测异常登录行为,如未预期的登录尝试或长时间未登录的账户。

三、语法和基本使用

1、基本语法

        语法非常简单,如下:

        lastlog [选项]

2、常用选项

• -b <天数>:显示在指定天数之前登录过的用户。

• -t <天数>:显示在指定天数之内登录过的用户。

• -u <用户名>:仅显示指定用户的最后登录信息。

• -f <文件>:指定读取的 lastlog 文件,默认为 /var/log/lastlog。

• -h 或 --help:显示帮助信息。

• -V 或 --version:显示版本信息。

3、获取帮助

可以通过如下命令获取帮助

Lastlog -h

实际操作如下:

四、基本用法

 1. 显示所有用户的最后登录信息

lastlog

输出示例:

Username         Port     From             Latest

root             pts/0    192.168.1.100    Mon Oct 10 10:15:30 +0800 2023

daemon                           *              Never logged in

bin                              *              Never logged in

sys                              *              Never logged in

...

字段解释:

• Username:用户名。

• Port:登录的终端或端口,如 pts/0 表示伪终端,数字表示实际的终端编号。

• From:登录来源的主机IP地址或主机名。如果为 *,表示本地登录。

• Latest:最后一次登录的时间。

实际操作如下:

 2. 显示特定用户的最后登录信息

 username

示例:

lastlog -u john

输出示例:

Username         Port     From             Latest

john             pts/1    192.168.1.101    Tue Oct 11 09:20:45 +0800 2023

实际操作如下:

 3. 显示在指定天数内登录过的用户

lastlog -t 30

说明:显示在过去30天内登录过的用户。

实际操作如下:

 4. 显示在指定天数前登录过的用户

lastlog -b 60

说明:显示在60天前登录过的用户。

 5. 使用自定义的 lastlog 文件

有时可能需要查看不同位置或格式的 lastlog 文件,可以使用 -f 选项指定文件路径:

lastlog -f /path/to/custom_lastlog

五、高级用法

 1. 结合管道和文本处理工具

可以将 lastlog 的输出与其他命令结合使用,进行进一步的分析和处理。例如,列出所有在过去一周内登录过的用户:

lastlog -t 7 | awk 'NR>1 && $4 != "Never" {print $1}'

解释:

• awk 'NR>1 && $4 != "Never" {print $1}':跳过第一行标题,筛选出第四列(最新登录时间)不为 "Never" 的行,并打印用户名。

 2. 查找从未登录过的用户

查找系统中从未登录过的用户,可以帮助识别潜在的僵尸账户或不需要的账户:

lastlog | awk 'NR>1 && $4 == "Never" {print $1}'

解释:

• 筛选出第四列为 "Never" 的行,即从未登录过的用户,并打印用户名。

六、注意事项

1. 权限要求

/var/log/lastlog 文件通常只有超级用户(root)有读取权限。因此,运行 lastlog 命令通常需要使用 sudo 或以 root 用户身份执行。  

   sudo lastlog

2. 文件大小限制

        lastlog 文件的大小受限于系统配置,可能会随着用户数量的增加而增大。定期清理或轮换日志文件有助于管理系统资源。

3. 安全性

        lastlog 文件包含敏感的用户登录信息,应确保其权限设置正确,防止未经授权的访问。

   (1)检查权限:  

   ls -l /var/log/lastlog  

   (2)典型权限:  

   -rw-rw---- 1 root utmp 123456 Jan 10 10:00 /var/log/lastlog 

   确保只有 root 和 utmp 组有读取权限。

4. 与其他日志工具结合使用

        lastlog 提供的是用户最后一次登录的信息,若需更详细的登录历史记录,可以结合使用 last 命令(查看登录会话历史)和系统日志(如 /var/log/auth.log 或 /var/log/secure)。

七、总结

        lastlog 是一个强大且实用的命令行工具,能够帮助系统管理员有效地监控和管理用户的登录活动。通过结合其他日志工具和脚本,lastlog 可以在系统安全、用户管理和合规性检查等方面发挥重要作用。了解并熟练使用 lastlog 命令,有助于提升系统的整体安全性和管理效率。


文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值