1.Linux日志-message日志 2.Linux日志-secure日志 3.Linux日志-btmp日志 4.Linux日志-wtmp日志(本章节) 5.Linux日志-lastlog日志 6.Linux 在Linux系统中,wtmp 日志是系统日志的一部分,它主要用于记录系统的登录和注销等相关信息。这个刚好和btmp相对应,一个记录失败,一个记录成功。 例如,管理员可以通过查看 wtmp 日志来确定某个用户在特定时间段内的登录时长,从而了解用户对系统资源的使用情况。 记录用户身份信息:wtmp 日志会记录登录用户的用户名等身份信息。 在多用户环境中,如果出现了系统问题或安全事件,通过查看 wtmp 日志可以快速确定当时登录的用户,以便进一步调查相关情况。 日志基本信息 日志路径:/var/log/wtmp 日志格式: 二进制格式 查看方法:使用专用命令last [root@iZ2vci40gfjzarlead7vliZ log]# last root
secure,btmp和wtmp这三个日志文件。 2. wtmp日志 首先,介绍wtmp日志文件,该文件记录了所有的登录过系统的用户信息。(PS:只记录了正确登录的用户。 密码错误等在btmp文件和secure文件中) 该文件的地址路径为:var/log/wtmp 。wtmp文件是一个二进制文件,无法通过cat或者vim 进行阅读。需要通过命令last进行阅读。 所以我们可以不用添加wtmp文件路径,但是如果使用 last -f 就需要我们主动添加wtmp路径了。 上面的数据分别是: 登录名:root。 3. btmp 日志 如果说wtmp是记录登录成功的日志。那么btmp就是记录所有尝试登录,但是登录失败的日志。 secure日志和wtmp和btmp文件一样,存储在var/log目录下。
注意最后一行输出的是wtmp文件起始记录的时间。 由于ac是基于wtmp统计的,所以修改或者删除wtmp文件都会使ac的结果受影响。 who命令强大的一点是,它既可以读取utmp文件也可以读取wtmp文件,默认没有指定FILE参数时,who查询的是utmp的内容。 当然可以指定FILE参数,比如who -aH /var/log/wtmp,则此时查看的是wtmp文件。 如果未指定FILE参数则默认读取的是/var/run/utmp,当然也可以指定通用相关文件/var/log/wtmp,此时输出的就不是当前用户了。
wtmp 详细路径:/var/log/wtmp 记录当前正在登录和历史登录系统的用户信息,默认由last命令查看; 使用last命令进行查看 ? 由于ac是基于wtmp统计的,所以修改或者删除wtmp文件都会使ac的结果受影响。 默认系统是没有该命令的,所以需要apt-get来安装一下: apt-get install acct ? ? 当然可以指定FILE参数,比如who -aH /var/log/wtmp,则此时查看的是wtmp文件。 同样要显示/var/log/wtmp的内容: utmpdump /var/log/wtmp | tail -15 ? utmpdump /var/log/wtmp | grep root ?
数据交换、关机和重起也记录在wtmp文件中。所有的纪录都包含时间戳。 每次有一个用户登录时,login程序在文件lastlog中察看用户的UID。 下一步,login程序打开文件wtmp附加用户的utmp纪录。当用户登录退出时,具有更新时间戳的同一utmp纪录附加到文件中。wtmp文件被程序last和ac使用。 wtmp和utmp文件都是二进制文件,用户需要使用who、w、users、last和ac来使用这两个文件包含的信息。 如果指明了wtmp文件名,则who命令查询以前所有的登陆纪录。 使用命令who /var/log/wtmp查看所有登陆记录,结果如下: who /var/log/wtmp last last命令往回搜索wtmp来显示自从文件第一次创建以来登录过的用户。
它读取 /var/log/wtmp 文件来获取登录信息,并且可以显示用户的登录名、终端、登录IP地址(如果通过网络登录)、登录时间以及登出时间等信息。 , --dns 将IP地址转换回主机名 -f, --file <文件> 使用指定的文件而不是 /var/log/wtmp Fri Sep 27 13:26 still running wtmp begins Thu Jun 27 15:54:01 2024 四、总结 确保 /var/log/wtmp 文件存在且可读, 如果系统非常繁忙,/var/log/wtmp 文件可能会变得很大,可能会影响 last 命令的性能。 使用 -p 或 --present 选项指定时间时,确保提供的时间格式正确无误。 如果系统未启用 wtmp 记录功能,last 命令将不会返回任何结果。 定期检查和维护 /var/log/wtmp 文件,以防止其占用过多磁盘空间。
介绍 在之前介绍过Linux的系统日志secure,btmp,wtmp这三个指令。https://zinyan.com/?p=456 而本篇内容,主要介绍如何清理Linux中缓存的各种登录日志。 2.2 清理btmp,wtmp 等缓存资料 如果直接说btmp和wtmp可能不太理解。我们换成指令就能理解了: last: 阅读的wtmp文件,文件存储在:/var/log/wtmp。 ~]# lastb | awk '{ print $3}' | sort | uniq -c | sort -n 1 1 Tue [root@iZuf ~]# 同样的清理wtmp 文件: [root@iZuf ~]# > /var/log/wtmp 就可以清理了。
2.命令格式 poweroff [OPTIONS...] 3.选项说明 -d, --no-wtmp 关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”。 -w, --wtmp-only 不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中写入 wtmp 关闭条目。
dmesg 记录 Linux 操作系统在引导过程中的各种事件信息 /var/log/lastlog 记录每个用户最近的登录事件 /var/log/secure 记录用户认证相关的安全事件 /var/log/wtmp 记录每个用户登录、注销及系统启动和停机事件 /var/log/btmp 记录失败的、错误的登录尝试及验证事件 /var/log/boot.log 记录系统启动有关的日志文件 wtmp日志文件用于记录每个用户登录 可以利用wtmp日志文件来查看用户登录系统记录的信息。 >>> last -f /var/log/wtmp btmp 日志文件用于记录远程登录系统失败的信息,如ssh协议远程登录系的用户名、协议类型、登录时间、IP地址等信息。 >>> cat /var/log/secure 可以使用utmpdump命令行将二进制转成可编辑文件,查看日志内容: >>> utmpdump /var/log/wtmp >/var/log/wtmp.file
2.命令格式 poweroff [OPTIONS...] 3.选项说明 -d, --no-wtmp 重启系统时,不将操作写入日志文件“/var/log/wtmp”。 -w, --wtmp-only 不真重启系统,仅在日志文件“/var/log/wtmp”中写入 wtmp 重启条目。
文章目录 1.命令简介 2.命令格式 3.选项说明 4.常用示例 5.拓展知识 5.1 utmp、wtmp、btmp文件 参考文献 1.命令简介 last 列出登录系统的用户列表。 单独执行last命令,它会读取/var/log/wtmp的文件,并把该给文件的内容记录的登入系统的用户名单全部显示出来。 -f <file> 指定要搜索的文件,而不是 /var/log/wtmp。 -n <num>, -<num> 设置列出名单的显示行数。 -R 不显示登入系统的主机名称或IP地址。 - 22:10 (03:23) root pts/0 223.73.1.91 Wed Oct 26 18:17 - 22:10 (03:52) wtmp /var/log/wtmp:记录当前正在登录和历史登录系统的用户信息,默认由last命令查看; /var/log/btmp:记录失败的登录尝试信息,默认由 lastb 命令查看。
范例二:将 /var/log/wtmp 复制到 /tmp 底下 [root@linux tmp]# cp /var/log/wtmp . <==想要复制到目前的目录,最后的 . 不要忘 [root@linux tmp]# ls -l /var/log/wtmp wtmp -rw-rw-r– 1 root utmp 71808 Jul 18 12:46 /var/log/ wtmp -rw-r–r– 1 root root 71808 Jul 18 21:58 wtmp # 注意到了吗?! [root@linux tmp]# cp -a /var/log/wtmp wtmp_2 [root@linux tmp]# ls -l /var/log/wtmp wtmp_2 -rw-rw-r – 1 root utmp 71808 Jul 18 12:46 /var/log/wtmp -rw-rw-r– 1 root utmp 71808 Jul 18 12:46 wtmp_2 #
2.命令格式 poweroff [OPTIONS...] 3.选项说明 -d, --no-wtmp 关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”。 -w, --wtmp-only 不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中写入 wtmp 关闭条目。
常用选项, -d, --no-wtmp 关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”。 -f, --force 强制关闭操作系统。 -w, --wtmp-only 不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中写入 wtmp 关闭条目。
num> 显示多少行 -a, --hostlast last在最后一列中显示主机名 -d, --dns 将IP号转换回主机名 -f, --file <file> <读取特定文件而不是 /var/log/wtmp last 命令的数据源 执行 last 命令时,默认读取 /var/log/wtmp 文件 它是一个二进制文件,记录每个用户的登录系统次数和持续时间、注销、系统重启、停机等事件 它是永久记录这些信息的 log/btmp 当然,用 last -f 读取这个文件也是一样效果的 /var/run/utmp 它比较重要,记录着当前正在登录系统的每个用户 它的数据结构和 的数据结构一样 /var/log/wtmp /var/log/lastlog 记录着每个用户最后登录系统的信息 它的数据结构和 、 /var/log/wtmp 不一样 /var/run/utmp last -f /var/log/wtmp last -f /var/log/wtmp ?
localhost ~]# shutdown -h now 2》poweroff命令 1)语法:halt [选项] 2)说明:用于关闭计算机 3)选项列表 选项 说明 -d 不把重启时的记录写到/var/log/wtmp localhost ~]# poweroff -f 3》halt命令 1)语法:halt [选项] 2)说明:用于关闭计算机 3)选项列表 选项 说明 -d 不把重启时的记录写到/var/log/wtmp 文件中 -i 在关机前先关闭所有网路 -n 不检查是否有程序正在运行 -p 关机时执行poweroff -w 不是真的重启,只是把重启时的记录写到/var/log/wtmp文件中 示例3.1,关闭计算机 localhost ~]# halt -p 4》reboot命令 1)语法:reboot [选项] 2)说明:用于重启计算机 3)选项列表 选项 说明 -d 不把重启时的记录写到/var/log/wtmp 文件中 -f 强制重启,不调用shutdown -i 重启前,先关闭所有网络 -n 不检查是否有程序正在运行 -w 不是真的重启,只是把重启时的记录写到/var/log/wtmp文件中 示例4.1:重启计算机
除非某些服务,有定义单独的日志 /etc/logrotate.conf 日志切割配置文件 参考日志文件文章 dmesg命令 /var/log/dmesg 日志 last命令,调用的文件/var/log/wtmp and btmp -- we'll rotate them here /var/log/wtmp { //切割该文件,每个月切割一次 monthly create dmesg //这是一个日志文件 这个日志文件和 dmesg命令 没有任何关联 它是系统启动的一个日志,记录的信息 last命令 last命令,查看你正确的登录历史 调用的文件/var/log/wtmp 记录是是谁,在哪里,来源IP,时间,登录的时长都会有记录 /var/log/wtmp日志是一个二进制文件,不能直接cat查看的,只能用last命令去查看 [root@hf-01 ~]# last root /var/log/wtmp lastb命令 lastb命令,查看登录失败的用户 对应的文件时/var/log/btmp 日志 /var/log/btmp也是二进制文件,不能直接cat的 [root@
前段时间NSA泄露的渗透测试工具中就有一款wtmp日志的擦除,非常好用,这引起了我的兴趣,于是研究了一下linux 登录相关二进制日志的文件格式,用python写了一个日志擦除,伪造的工具(末尾附源码) Linux中与登录有关的日志及其格式分析 Linux中涉及到登录的二进制日志文件有 /var/run/utmp /var/log/wtmp /var/log/btmp /var/log/lastlog 其中 utmp 对应w 和 who命令;wtmp 对应last命令;btmp对应lastb命令;lastlog 对应lastlog命令 经查Linux man 手册, /var/run/utmp /var/log/wtmp /var/log/btmp 的二进制格式都是一样的, 我们姑且称之为xtmp 格式 而/var/log/lastlog 文件的格式与之不同,需单独分析 ) 删除前: 删除指定用户,指定host的历史登录记录 删除后: 3.添加wtmp记录 4.删除btmp记录 删除前 hacker 这个账户有很多次尝试登录记录 删除后: 5.添加btmp 伪造记录 6
0x00 审计命令 在linux中有5个用于审计的命令: last:这个命令可用于查看我们系统的成功登录、关机、重启等情况;这个命令就是将/var/log/wtmp文件格式化输出。 -d 显示错误的登录信息 lastb 查看当前登录情况 who、w 0x01 日志查看 在Linux系统中,有三类主要的日志子系统: 连接时间日志: 由多个程序执行,把记录写入到/var/log/wtmp 和/var/run/utmp,login等程序会更新wtmp和utmp文件,使系统管理员能够跟踪谁在何时登录到系统。 (utmp、wtmp日志文件是多数Linux日志子系统的关键,它保存了用户登录进入和退出的记录。 有关当前登录用户的信息记录在文件utmp中; 登录进入和退出记录在文件wtmp中; 数据交换、关机以及重启的机器信息也都记录在wtmp文件中。所有的记录都包含时间戳。)
前段时间NSA泄露的渗透测试工具中就有一款wtmp日志的擦除,非常好用,这引起了我的兴趣,于是研究了一下linux 登录相关二进制日志的文件格式,用python写了一个日志擦除,伪造的工具(末尾附源码) Linux中与登录有关的日志及其格式分析 Linux中涉及到登录的二进制日志文件有 /var/run/utmp /var/log/wtmp /var/log/btmp /var/log/lastlog 其中 utmp 对应w 和 who命令; wtmp 对应last命令;btmp对应lastb命令;lastlog 对应lastlog命令 经查Linux man 手册, /var/run/utmp /var/log/wtmp /var/log/btmp 的二进制格式都是一样的, 我们姑且称之为xtmp 格式 而/var/log/lastlog 文件的格式与之不同,需单独分析 2.删除历史登录记录(wtmp) 删除前: ? 删除指定用户,指定host的历史登录记录 ? 删除后: ? 3.添加wtmp记录 ? 4.删除btmp记录 删除前 ?