最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

世界焦点!关于Linux操作系统使用lastlog命令对OS账号最后一次登录时间的审计

来源:博客园

本文以Red Hat Enterprise Linux release 8.1 (Ootpa) 为例 ,应该也能适用于7.x版本的

如果对操作系统中的账号审计,其中有一个项目可能会比较重要(尤其是对于个人账号),那就是最后一次登录的记录


(资料图)

如果需要查看每一个OS账号的最后一次登录记录(笔者测试,不包括scp/sftp登录的记录),可以使用lastlog命令

[qq-5201351@localhost ~]$ lastlogUsername         Port     From             Latestroot             pts/1                     Sun Apr 30 12:30:40 +0800 2023bin                                        **Never logged in**ec2-user         pts/0    93.88.226.221    Sun Apr 30 12:21:43 +0800 2023

说明:对于From为空的,一般多为su方式登录,直接从其他地方登录,一般都会显示成IP地址

此命令实际是读取的/var/log/lastlog,因为这个文件的属主/组和权限默认如下,一般使用普通用户也是可以执行lastlog的(系统特殊加固的可能不行):

-rw-rw-r--. 1 root utmp 293460 Apr 30 12:30 /var/log/lastlog

如果此文件,被删除,笔者测试只有使用普通用户su - root 后,文件又会被创建,(直接普通用户或者直接使用root用户ssh登录,都不会自动创建)

只是这样创建的用户、有可能权限,属组会有变化,只有等到下次重启OS,才会恢复成root:utmp

回到账号审计,如果就是简单的审计的每一个账号的最后一次登录,就可以直接使用lastlog命令即可

如果要针对一部分账号,我们可以使用按顺序进行for循环列出,这种对于填写审计表格较为实用

for user in root bin ec2-user;do    lastlog --user $user |tail -n 1 done

最后,还有如下两个点需要注意一下:

1、lastlog命令有如下两个选项,是可以直接修改lastlog数据的,当然只能清除时间,或者设置为当前时间,不能自定义时间

-C, --clear clear lastlog record of an user (usable only with -u)

-S, --set set lastlog record to current time (usable only with -u)

2、目前笔者没有发现lastlog命令能有相关选项,可以直接读取指定位置的lastlog的data类型的文件

尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/17365149.html

关键词: