utmp、wtmp和lastlog日志文件是多数重用UNIX日志子系统的关键--保持用户登录进入和退出的纪录。1)/var/log/secure:记录登录系统存取数据的文件;例如:pop3,ssh,telnet,ftp等都会记录在此.2)/ar/log/btmp:记录登录这的信息记录,被编码过,所以必须以last解析;例如:lastb | awk '{ print $3}' | sort | uniq -c | sort -nr | more3)/var/log/message:几乎所有的开机系统发生的错误都会在此记录;4)/var/log.boot.log:记录一些开机或者关机启动的一些服务显示的启动或者关闭的信息;5)/var/log/maillog:记录邮件的存取和往来;6)/var/log/cron:用来记录crontab这个服务的内容;7)/var/log/httpd,/var/log/mysqld.log等等文件,记录几个不同的网络服务的记录文件;8)/var/log/acpid ,   ACPI - Advanced Configuration and Power Interface,表示高级配置和电源管理接口。后面的 d 表示 deamon 。 acpid 也就是 the ACPI event daemon 。 也就是 acpi 的消息进程。用来控制、获取、管理 acpi 的状态的服务程序。9)/var/run/utmp 记录着现在登录的用户;10)/var/log/lastlog 记录每个用户最后的登录信息;11)/var/log/btmp 记录错误的登录尝试;12)/var/log/dmesg内核日志;13)/var/log/cpus CPU的处理信息;14)/var/log/syslog 事件记录监控程序日志;15)/var/log/auth.log 用户认证日志;16)/var/log/daemon.log 系统进程日志;17)/var/log/mail.err 邮件错误信息;18)/var/log/mail.info 邮件信息;19)/var/log/mail.warn 邮件警告信息;20)/var/log/daemon.log 系统监控程序产生的信息;21)/var/log/kern 内核产生的信息;22)/var/log/lpr   行打印机假脱机系统产生的信息;-----------------------------------------------常用日志文件系统日志是由一个名为syslog的服务管理的,如以下日志文件都是由syslog日志服务驱动的:/var/log/boot.log:录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息/var/log/lastlog :记录最后一次用户成功登陆的时间、登陆IP等信息/var/log/messages :记录Linux操作系统常见的系统和服务错误信息/var/log/secure :Linux系统安全日志,记录用户和工作组变坏情况、用户登陆认证情况/var/log/btmp :记录Linux登陆失败的用户、时间以及远程IP地址/var/log/syslog:只记录警告信息,常常是系统出问题的信息,使用lastlog查看/var/log/wtmp:该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件,使用last命令查看/var/run/utmp:该日志文件记录有关当前登录的每个用户的信息。如 who、w、users、finger等就需要访问这个文件/var/log/syslog 或 /var/log/messages 存储所有的全局系统活动数据,包括开机信息。基于 Debian 的系统如 Ubuntu 在 /var/log/syslog 中存储它们,而基于 RedHat 的系统如 RHEL 或 CentOS 则在 /var/log/messages 中存储它们。/var/log/auth.log 或 /var/log/secure 存储来自可插拔认证模块(PAM)的日志,包括成功的登录,失败的登录尝试和认证方式。Ubuntu 和 Debian 在 /var/log/auth.log 中存储认证信息,而 RedHat 和 CentOS 则在 /var/log/secure 中存储该信息。/var/log/wtmp该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件。因此随着系统正常运行时间的增加,该文件的大小也会越来越大,增加的速度取决于系统用户登录的次数。该日志文件可以用来查看用户的登录记录,last命令就通过访问这个文件获得这些信息,并以反序从后向前显示用户的登录记录,last也能根据用户、终端tty或时间显示相应的记录。/var/run/utmp该日志文件记录有关当前登录的每个用户的信息。因此这个文件会随着用户登录和注销系统而不断变化,它只保留当时联机的用户记录,不会为用户保留永久的记录。系统中需要查询当前用户状态的程序,如 who、w、users、finger等就需要访问这个文件。该日志文件并不能包括所有精确的信息,因为某些突发错误会终止用户登录会话,而系统没有及时更新 utmp记录,因此该日志文件的记录不是百分之百值得信赖的。以上提及的3个文件(/var/log/wtmp、/var/run/utmp、/var/log/lastlog)是日志子系统的关键文件,都记录了用户登录的情况。这些文件的所有记录都包含了时间戳。这些文件是按二进制保存的,故不能用less、cat之类的命令直接查看这些文件,而是需要使用相关命令通过这些文件而查看。其中,utmp和wtmp文件的数据结构是一样的,而lastlog文件则使用另外的数据结构,关于它们的具体的数据结构可以使用man命令查询。每次有一个用户登录时,login程序在文件lastlog中查看用户的UID。如果存在,则把用户上次登录、注销时间和主机名写到标准输出中,然后login程序在lastlog中记录新的登录时间,打开utmp文件并插入用户的utmp记录。该记录一直用到用户登录退出时删除。utmp文件被各种命令使用,包括who、w、users和finger。下一步,login程序打开文件wtmp附加用户的utmp记录。当用户登录退出时,具有更新时间戳的同一utmp记录附加到文件中。wtmp文件被程序last使用。清除logrm -rf /var/log/.gzrm -rf /var/log/.1echo "" > /var/log/dmesgecho "" > /var/log/kern.logecho "" > /var/log/messagesecho "" > /var/log/syslogecho " " > test.log> test.logcat /dev/null > test.logcat /dev/null /var/log/wtmpcat /dev/null /var/log/messagescat /dev/null /var/log/secure linux 下可以用history 查看历史执行命令,但默认没有记录操作时间,也无法查看是哪个客户端执行的命令;可以用/usr/bin/script 来记录用户操作;netstat -a 查询连接状态wtmp和utmp文件都是二进制文件,他们不能被诸如tail命令剪贴或合并(使用cat命令)。用户需要使用who、w、users、last和ac来使用这两个文件包含的信息。who:who命令查询utmp文件并报告当前登录的每个用户。Who的缺省输出包括用户名、终端类型、登录日期及远程主机。w:w命令查询utmp文件并显示当前系统中每个用户和它所运行的进程信息。users:users用单独的一行打印出当前登录的用户,每个显示的用户名对应一个登录会话。如果一个用户有不止一个登录会话,那他的用户名把显示相同的次数。例如:users(回车)显示:chyang lewis lewis ylou ynguo ynguo last:last命令往回搜索wtmp来显示自从文件第一次创建以来登录过的用户。例如: linux查看日志:# cd /var/log# less secure或者# less messages最近登录的日志:# las

作者:Drafei
链接:https://www.jianshu.com/p/ad59f4a938e9
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。