Linux日志文件-----utmp,wtmp,lastlog,messages
- 格式:docx
- 大小:14.22 KB
- 文档页数:4
如何查看配置Ubuntu和Centos的系统日志内容来源于PPPCloud官网教程介绍Linux系统管理员经常需要查看日志文件用于故障诊断。
事实上,这是任何系统管理员都将做的第一件事。
在本教程中,我们将看看Linux日志记录机制。
默认文件位置默认的日志文件位置:在Linux默认位置是/var/log日志文件。
您可以用一个简单的ls - l /var/log命令查看日志文件的目录列表。
查看文档内容下面是一些常见的日志文件,他们都在默认的log路径下面• wtmp最后一个命令告诉我们登录用户的历史:Syslog守护进程日志的核心机制是rsyslog守护进程,这个服务负责各个部分的的日志信息的收集和传递。
它还可以日志消息转发到另一个Linux服务器。
rsyslog配置文件此守护进程会从rsyslog.conf文件获取配置信息,这个文件一般默认在/etc下面。
这个配置文件会告诉rsylog守护进程哪里去存储日志。
这里是一个CentOS rsyslog摘录。
配置文件:• debug: 来源于项目的调试信息。
•• info: 简单的信息消息——不需要干预•• notice: 可能需要关注的条件•• warn:警告•• err: 错误•• crit: 临界条件•• alert: 条件是需要立即干预•• emerg: 紧急情况•现在让我们考虑下面的从文件中取出的行。
同样,如果我们想从陷阱邮件子系统除了信息消息,该规范将像下面这样在接下来的例子中,我添加两个新行在CentOS的系统配置文件rsyslog.conf。
默认情况下,日志文件是旋转每周有四个剩余积压在线在任何时候。
当程序运行时,将生成一个新的、空的日志文件和旧将被压缩。
他唯一的例外是wtmp和btmp文件。
wtmp跟踪系统登录和btmp跟踪坏的登录尝试。
如果任何wtmp 或btmp文件可以找到,这些日志文件都是每月旋转。
自定义日志保存在etc / logrotate旋转配置目录。
Linux系统中⽇志级别详情⽇志信息分类1.等级由低到⾼:debug<info<warn<Error<Fatal;2.区别:debug 级别最低,可以随意的使⽤于任何觉得有利于在调试时更详细的了解系统运⾏状态的东东;info 重要,输出信息:⽤来反馈系统的当前状态给最终⽤户的;后三个,警告、错误、严重错误,这三者应该都在系统运⾏时检测到了⼀个不正常的状态。
warn, 可修复,系统可继续运⾏下去;Error, 可修复性,但⽆法确定系统会正常的⼯作下去;Fatal, 相当严重,可以肯定这种错误已经⽆法修复,并且如果系统继续运⾏下去的话后果严重。
3.使⽤什么时候使⽤ info, warn , error ?info ⽤于打印程序应该出现的正常状态信息,便于追踪定位;warn 表明系统出现轻微的不合理但不影响运⾏和使⽤;error 表明出现了系统错误和异常,⽆法正常完成⽬标操作。
4.格式总结起来,错误⽇志格式可以为:log.error(“[接⼝名或操作名] [Some Error Msg] happens. [params] [Probably Because]. [Probably need to do].”);log.error(String.format(“[接⼝名或操作名] [Some Error Msg] happens. [%s]. [Probably Because]. [Probably need to do].”, params));或log.error(“[Some Error Msg] happens to 错误参数或内容 when [in some condition]. [Probably Because]. [Probably need to do].”);log.error(String.format(“[Some Error Msg] happens to %s when [in some condition]. [Probably Because]. [Probably need to do].”, parameters));[Probably Reason]. [Probably need to do]. 在某些情况下可以省略;在⼀些重要接⼝和场景下最好能说明⼀下。
Linux系统的LOG日志文件及入侵后日志的清除UNIX网管员主要是靠系统的LOG,来获得入侵的痕迹.当然也有第三方工具记录入侵系统的痕迹,UNIX系统存放LOG文件,普通位置如下:/usr/adm - 早期版本的UNIX/var/adm - 新一点的版本使用这个位置/var/log - 一些版本的Solaris,linux BSD,Free BSD使用这个位置/etc - 多数UNIX版本把utmp放在这里,有些也把wtmp放在这里,syslog.conf在这里下面的一些文件根据你所在的目录不同而不同:acct 或pacct -- 记录每个用户使用的命令记录access_log -- 主要当服务器运行NCSA HTTPD时, 记录什么站点连接过你的服务器aculog -- 保存着你拨出去的MODEMS记录lastlog -- 记录了用户最近的LOGIN记录和每个用户的最初目的地,有时是最后不成功LOGIN的记录,当一个用户登陆到unix系统,注册程序在lastlog文件中查找该用户的uid,如果该程序找到了该用户的uid,unix就会显示最后一次登陆的时间和tty(终端号)loginlog -- 记录一些不正常的LOGIN记录messages -- 记录输出到系统控制台的记录,另外的信息由syslog来生成security -- 记录一些使用UUCP系统企图进入限制范围的事例sulog -- 记录使用su命令的记录.它通常在/var/adm/sulog.如果你在机器上使用了su命令,别忘了清除哦.utmp -- 记录当前登录到系统中的所有用户,这个文件伴随着用户进入和离开系统而不断变化.它还会为系统中的用户保持很长的历史记录,utmp日志通常存放在/var/adm/utmp目录下.可以用w和who命令查看,其他命令也可以访问这个文件.如:finger root就可以.现在的utmp一般都有utmpx文件作为日志记录的补充.utmpx -- UTMP的扩展wtmp -- 记录用户登录和退出事件.它和utmp日志文件相似,但它随着登陆次数的增加,它会变的越来越大,有些系统的ftp访问也在这个文件里记录,同时它也记录正常的系统退出时间,可以用ac和last命令访问.syslog -- 最重要的日志文件,使用syslogd守护程序来获得日志信息,通常情况下通过查看/etc/syslog.conf.我们可以知道syslog记录些什么.缺省时,它把大多的消息传给/var/adm/message./dev/log -- 一个UNIX域套接字,接受在本地机器上运行的进程所产生的消息/dev/klog -- 一个从UNIX内核接受消息的设备514端口-- 一个INTERNET套接字,接受其他机器通过UDP产生的syslog消息。
Centos下重要日志文件及查看方式(2014-01-02 12:56:34)转载▼1、Linux下重要日志文件介绍/var/log/boot.log该文件记录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息,如图1所示:图1 /var/log/boot.log示意/var/log/cron该日志文件记录crontab守护进程crond所派生的子进程的动作,前面加上用户、登录时间和PID,以及派生出的进程的动作。
CMD的一个动作是cron派生出一个调度进程的常见情况。
REPLACE(替换)动作记录用户对它的cron文件的更新,该文件列出了要周期性执行的任务调度。
RELOAD动作在REPLACE动作后不久发生,这意味着cron注意到一个用户的cron文件被更新而cron需要把它重新装入内存。
该文件可能会查到一些反常的情况。
该文件的示意请见图2:图2 /var/log/cron文件示意/var/log/maillog该日志文件记录了每一个发送到系统或从系统发出的电子邮件的活动。
它可以用来查看用户使用哪个系统发送工具或把数据发送到哪个系统。
图3所示是该日志文件的片段:图3 /var/log/maillog文件示意该文件的格式是每一行包含日期、主机名、程序名,后面是包含PID或内核标识的方括号、一个冒号和一个空格,最后是消息。
该文件有一个不足,就是被记录的入侵企图和成功的入侵事件,被淹没在大量的正常进程的记录中。
但该文件可以由/etc/syslog文件进行定制。
由/etc /syslog.conf配置文件决定系统如何写入/var/messages。
/var/log/syslog默认Fedora不生成该日志文件,但可以配置/etc/syslog.conf让系统生成该日志文件。
它和/etc/log/messages日志文件不同,它只记录警告信息,常常是系统出问题的信息,所以更应该关注该文件。
Linux的last命令用于显示近期用户或终端的登录情况,其使用权限是所有用户。
通过last命令,管理员可以获知谁曾经或企图连接系统。
具体使用方法如下:
1.显示所有用户的登录记录:
2.显示特定用户的登录记录:
3.显示最近的N条登录记录:
4.显示登录记录的详细信息:
通过使用“-f”选项,可以指定读取的日志文件,从而查看更详细的登录信息。
此外,last命令还有许多其他参数,例如-R(省略hostname栏位)、-n(指定输出
记录的条数)、-t(只显示指定的虚拟控制台上的登录情况)、-h(只显示指定的节点上的登录情况)等。
除了查看登录记录,last命令还有助于管理员监控用户的活动,特别是对于敏感操作和关键账户的审计。
通过检查登录记录,可以及时发现异常活动并采取相应措施。
此外,对于安全审计需求,last命令是一项重要的工具,可以记录用户的登录和注销信息,并提供详细的时间戳和登录来源,有助于分析和跟踪用户的活动轨迹。
Linux⽤户登录⽇志查询# 1 utmp、wtmp、btmp⽂件Linux⽤户登录信息放在三个⽂件中:1 /var/run/utmp:记录当前正在登录系统的⽤户信息,默认由who和w记录当前登录⽤户的信息,uptime记录系统启动时间;2 /var/log/wtmp:记录当前正在登录和历史登录系统的⽤户信息,默认由last命令查看;3 /var/log/btmp:记录失败的登录尝试信息,默认由lastb命令查看。
这三个⽂件都是⼆进制数据⽂件,并且三个⽂件结构完全相同,是由/usr/include/bits/utmp.h⽂件定义了这三个⽂件的结构体。
默认情况下⽂件的⽇志信息会通过logrotate⽇志管理⼯具定期清理。
logrotate的配置⽂件是/etc/logrotate.conf,此处是logrotate的缺省设置,通常不需要对它进⾏修改。
⽇志⽂件的轮循压缩等设置存放在独⽴的配置⽂件中,它(们)放在/etc/logrotate.d/⽬录下,它会覆盖缺省设置。
如果不想记录相关信息,则可以直接将相关⽂件删除即可。
如果系统不存在该⽂件,则需要在此路径touch⼀个⽂件就可以继续记录相关信息了。
此外:如果想禁⽤who命令,则只需要将utmp的可读权限去掉就⾏,这样⾮root⽤户就不能⽤此命令了;如果是btmp⽂件,⼿⼯创建的话注意权限必须为600,否则不能正确写⼊信息。
# 2 相关命令介绍好了,下⾯开始介绍查看这三个⽇志⽂件的命令了。
分别是lastlog、last、lastb、ac、who、w、users、utmpdump。
其中last、lastb、who、utmpdump可以通过指定参数⽽查看三个中的任意⼀个⽂件。
列出所有⽤户最近登录的信息,或者指定⽤户的最近登录信息。
lastlog引⽤的是/var/log/lastlog⽂件中的信息,包括login-name、port、last login timelzx-clone1:/var/log # lastlogUsername Port Latestroot pts/1 Wed Oct 19 14:37:46 +0800 2016bin **Never logged in**daemon **Never logged in**gdm **Never logged in**admin **Never logged in**lzx pts/3 Wed Oct 19 15:15:24 +0800 2016列出当前和曾经登⼊系统的⽤户信息,它默认读取的是/var/log/wtmp⽂件的信息。
Linux命令行下的系统日志和错误查看技巧在Linux命令行下,系统日志和错误查看是系统管理员和开发人员必备的技能之一。
系统日志记录了系统运行过程中的各种事件和错误信息,通过查看系统日志,可以追踪问题并解决系统故障。
本文将介绍一些常用的Linux命令行下的系统日志和错误查看技巧。
一、查看系统日志1. 查看系统日志文件Linux系统将系统日志保存在/var/log目录下的不同文件中。
常用的系统日志文件有:- /var/log/syslog:包含系统的整体运行状态和各个服务的日志信息。
- /var/log/messages:包含系统的整体状态信息和各种服务的消息。
- /var/log/auth.log:包含与系统身份验证和安全相关的日志信息。
- /var/log/kern.log:包含与内核相关的日志信息。
- /var/log/boot.log:包含系统启动过程的日志信息。
可以使用以下命令查看系统日志文件的内容:```tail /var/log/syslogtail /var/log/messagestail /var/log/auth.logtail /var/log/kern.logtail /var/log/boot.log```2. 实时查看系统日志如果需要实时查看系统日志的更新信息,可以使用以下命令:```tail -f /var/log/syslogtail -f /var/log/messagestail -f /var/log/auth.logtail -f /var/log/kern.logtail -f /var/log/boot.log```这样,当有新的日志信息写入日志文件时,命令行界面会即时显示出来。
二、查看错误日志在Linux系统中,错误日志保存在各个应用程序的日志文件中。
不同的应用程序有不同的错误日志文件。
以下是一些常见的错误日志文件及其使用方法:1. Apache错误日志Apache的错误日志文件一般位于/var/log/apache2/error.log或者/var/log/httpd/error.log,可以使用以下命令查看:```tail /var/log/apache2/error.logtail /var/log/httpd/error.log```2. MySQL错误日志MySQL的错误日志文件一般位于/var/log/mysql/error.log,可以使用以下命令查看:```tail /var/log/mysql/error.log```3. SSH错误日志SSH的错误日志文件一般位于/var/log/auth.log,可以使用以下命令查看:```tail /var/log/auth.log```4. Nginx错误日志Nginx的错误日志文件一般位于/var/log/nginx/error.log,可以使用以下命令查看:```tail /var/log/nginx/error.log```三、使用过滤器查找关键字在系统日志和错误日志中,常常需要查找包含特定关键字的日志信息。
Linux log 日志查看其实,可以说成是监控系统的记录,系统一举一动基本会记录下来。
这样由于信息非常全面很重要,通常只有 root 可以进行视察!通过登录文件(日志文件)可以根据屏幕上面的错误讯息与再配合登录文件的错误信息,几乎就可以解决大部分的 Linux 问题!所以日志文件异常重要,作为一个合格的linux 系统工程师,日志文件是必要熟练掌握的部分。
常见的几个登录文件有:/var/log/secure:记录登入系统存取数据的文件,例如 pop3, ssh, telnet, ftp 等都会被记录;/var/log/wtmp:记录登入者的讯息数据,由于本文件已经被编码过,所以必须使用last指令来取出文件的内容;/var/log/messages:尤为重要,几乎发生的错误讯息(或是重要信息)都会被记录在此;/var/log/boot.log:记录开机或者是一些服务启动的时候,所显示的启动或关闭讯息;/var/log/maillog 或 /var/log/mail/*:纪录邮件存取或往来( sendmail 与 pop3 )的使用者记录;/var/log/cron:记录 crontab 这个例行性服务的内容的。
/var/log/httpd, /var/log/news, /var/log/mysqld.log, /var/log/samba,/var/log/procmail.log:分别是几个不同的网络服务的记录文件!登录文件的纪录程序之一: syslogd通常经过 syslog 而记录下来的数据主要有:事件发生的日期与时间;发生此事件的主机名称;启动此事件的服务名称 (如 samba, xinetd 等) 或函式名称 (如 libpam ..);该讯息数据内容syslogd的daemon配置文件:/etc/syslog.conf内容语法是这样的:服务名称[.=!]讯息等级讯息记录的文件名或装置或主机# 例如底下: /var/log/maillog_info服务名称:该服务产生的讯息会被纪录的意思。
当然可以!以下是一些常见的Linux日志英文及其中文翻译:1.syslog -系统日志2.messages -消息3.auth.log -认证日志4.kern.log -内核日志er.log -用户日志6.mail.log -邮件日志7.cron.log - cron任务日志8.debug -调试日志9.error -错误日志10.warn -警告日志11.notice -通知日志 -信息日志13.debug -调试信息14.alert -警告信息15.crit -严重警告信息16.err -错误信息17.emerge -紧急情况信息18.crit -严重问题19.alert -需要立即关注的问题20.err -错误21.warn -警告22.notice -注意 -信息24.debug -调试信息25.emerg -系统不可用26.panic -系统崩溃27.bug -系统漏洞28.trace -追踪信息29.daemon -系统守护进程信息30.kern -内核信息31.lpr -打印服务信息32.mail -邮件服务信息33.news -新闻组服务信息34.uucp - UUCP通信服务信息35.cron - cron任务执行信息36.auth -认证服务信息37.syslog -系统日志信息38.local0-local7 -本地的日志消息39.authpriv -认证和隐私相关的日志信息40.ftp - FTP服务信息41.ntp - NTP服务信息42.audit -安全审计日志信息43.kern-debug -内核调试日志信息44.lsof - LSOF工具的输出信息45.boot -系统启动时的日志信息46.postfix/saslauthd/opendmarc/dovecot-sql/dovecot-auth-sql/dovecot-imap-sql/dovecot-pop3-sql/dovecot-lmtp-sql/dovecot-pgsql/postfix/postfix/post fix/postfix/postfix/postfix/postfix/postfix/postfix/postfix/postfix/postfix/postf ix/postfix/postfix/postfix/postfix/postfix/postfix/postfix/postfix/postfix/postfi x/postfix/postfix/postfix/postfix/postfix/postfix/postfix/postfix/postfix/postfi x/postfix/postfix/postfix/postfix/postfix/postfix/postfix/postfix/postfix/postfix/postfix/postfix/postfix/postfix/postfix/postfix/(这是非常长的路径,表示与邮件服务器相关的各种日志)47.samba/(与Samba文件共享相关的日志)48.winbind/(与Windows身份验证相关的日志)49./var/(一些系统日志可能位于此目录下)50./var/log/(这是大多数系统日志的默认目录)51./var/log/messages/(存储系统消息的目录)52./var/log/syslog/(存储系统日志的目录)53./var/log/maillog/(存储邮件服务的日志)54./var/log/authlog/(存储认证服务的日志)55./var/log/kernlog/(存储内核日志的目录)56./var/log/cronlog/(存储cron任务的日志)57./var/log/bootlog/(存储系统启动时的日志)58./var/log/yum/(存储YUM包管理器的日志)59./var/log/cron/(存储cron任务的日志)60.*/var/log/mail.log/(与邮件。
linux的last用法-回复Linux的last命令是一个非常有用的工具,它用于查看系统中所有用户的登录记录。
本文将一步一步详细介绍last命令的用法和功能。
首先,我们需要了解last命令的基本语法。
在终端中,输入"last"即可使用该命令。
以下是一些常用的选项和参数:- -n <显示行数>:指定要显示的记录行数。
- -f <文件名>:从指定的文件中读取记录。
- -t <时间格式>:指定显示时间的格式。
- -i :显示IP地址和主机名。
- -w :显示用户登录和注销的详细时间。
- -x :显示系统关机和重新启动记录。
接下来,我们将一步一步回答以下问题,帮助您更好地理解和使用last命令:1. 如何查看所有用户的登录记录?要查看系统中所有用户的登录记录,请在终端中输入"last"命令。
系统将显示最近的登录记录,包括登录用户名、登录时间和登录来源(IP地址或主机名)。
2. 如何指定显示记录的行数?如果你只想查看最近的几条登录记录,可以使用"-n"选项。
例如,要显示最近的5条记录,可以输入"last -n 5"。
3. 如何从文件中读取记录?如果用户登录记录不能通过last命令直接访问,您可以使用"-f"选项从指定的文件中读取记录。
例如,要从文件/var/log/wtmp读取记录,可以输入"last -f /var/log/wtmp"。
4. 如何指定时间的显示格式?通过"-t"选项,您可以指定要显示的时间格式。
默认情况下,时间将以YYYY-MM-DD HH:MM:SS的格式显示。
例如,要将时间格式更改为YYYY/MM/DD的格式,可以输入"last -t YYYY/MM/DD"。
5. 如何显示IP地址和主机名?要显示用户登录记录的IP地址和主机名,请使用"-i"选项。
Linux查看登录⽇志⼀、查看⽇志⽂件Linux查看/var/log/wtmp⽂件查看可疑IP登陆last -f /var/log/wtmp该⽇志⽂件永久记录每个⽤户登录、注销及系统的启动、停机的事件。
因此随着系统正常运⾏时间的增加,该⽂件的⼤⼩也会越来越⼤,增加的速度取决于系统⽤户登录的次数。
该⽇志⽂件可以⽤来查看⽤户的登录记录,last命令就通过访问这个⽂件获得这些信息,并以反序从后向前显⽰⽤户的登录记录,last也能根据⽤户、终端tty或时间显⽰相应的记录。
查看/var/log/secure⽂件寻找可疑IP登陆次数⼆、脚本⽣成所有登录⽤户的操作历史在linux系统的环境下,不管是root⽤户还是其它的⽤户只有登陆系统后⽤进⼊操作我们都可以通过命令history来查看历史记录,可是假如⼀台服务器多⼈登陆,⼀天因为某⼈误操作了删除了重要的数据。
这时候通过查看历史记录(命令:history)是没有什么意义了(因为history 只针对登录⽤户下执⾏有效,即使root⽤户也⽆法得到其它⽤户histotry历史)。
那有没有什么办法实现通过记录登陆后的IP地址和某⽤户名所操作的历史记录呢?答案:有的。
通过在/etc/profile⾥⾯加⼊以下代码就可以实现:PS1="`whoami`@`hostname`:"'[$PWD]'USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`if [ "$USER_IP" = "" ]thenUSER_IP=`hostname`fiif [ ! -d /tmp/dbasky ]thenmkdir /tmp/dbaskychmod 777 /tmp/dbaskyfiif [ ! -d /tmp/dbasky/${LOGNAME} ]thenmkdir /tmp/dbasky/${LOGNAME}chmod 300 /tmp/dbasky/${LOGNAME}fiexport HISTSIZE=4096DT=`date "+%Y-%m-%d_%H:%M:%S"`export HISTFILE="/tmp/dbasky/${LOGNAME}/${USER_IP}-dbasky.$DT"chmod 600 /tmp/dbasky/${LOGNAME}/*dbasky* 2>/dev/nullsource /etc/profile 使⽤脚本⽣效退出⽤户,重新登录⾯脚本在系统的/tmp新建个dbasky⽬录,记录所有登陆过系统的⽤户和IP地址(⽂件名),每当⽤户登录/退出会创建相应的⽂件,该⽂件保存这段⽤户登录时期内操作历史,可以⽤这个⽅法来监测系统的安全性。
Linux 若干log位置和作用一些日志文件的所在位置以及它们包含的内容。
在系统运行正常的情况下学习了解这些不同的日志文件有助于你在遇到紧急情况时从容找出问题并加以解决。
以下是几个位于/var/log/ 目录之下的日志文件。
其中一些只有特定版本采用,如dpkg.log只能在基于Debian的系统中看到。
/var/log/messages —包括整体系统信息,其中也包含系统启动期间的日志。
此外,mail,cron,daemon,kern和auth等内容也记录在var/log/messages日志中。
/var/log/dmesg —包含内核缓冲信息(kernel ring buffer)。
在系统启动时,会在屏幕上显示许多与硬件有关的信息。
可以用dmesg查看它们。
/var/log/auth.log —包含系统授权信息,包括用户登录和使用的权限机制等。
/var/log/boot.log —包含系统启动时的日志。
/var/log/daemon.log —包含各种系统后台守护进程日志信息。
/var/log/dpkg.log –包括安装或dpkg命令清除软件包的日志。
/var/log/kern.log –包含内核产生的日志,有助于在定制内核时解决问题。
/var/log/lastlog —记录所有用户的最近信息。
这不是一个ASCII文件,因此需要用lastlog命令查看内容。
/var/log/maillog /var/log/mail.log —包含来着系统运行电子邮件服务器的日志信息。
例如,sendmail日志信息就全部送到这个文件中。
/var/log/user.log —记录所有等级用户信息的日志。
/var/log/Xorg.x.log —来自X的日志信息。
/var/log/alternatives.log –更新替代信息都记录在这个文件中。
/var/log/btmp –记录所有失败登录信息。
使用last命令可以查看btmp文件。
linux解析wtmp方法
在Linux系统中,wtmp文件是用来记录用户登录、注销以及系
统启动和关闭等信息的日志文件。
解析wtmp文件的方法有多种,可
以通过使用一些工具或者编程语言来实现。
一种常见的方法是使用wtmp文件的解析工具,比如说last命令。
last命令可以用来显示wtmp文件中记录的用户登录和注销信息。
通过在终端输入"last"命令,系统会返回一个包含用户登录和
注销信息的列表,包括登录的用户名、登录时间、登录来源IP等信息。
这样就可以方便地查看wtmp文件中的记录。
另一种方法是使用编程语言来解析wtmp文件。
可以使用C、Python等编程语言来读取wtmp文件,然后解析其中的记录。
通过
读取wtmp文件的格式,可以编写程序来逐条解析wtmp文件中的记录,提取出需要的信息并进行处理。
此外,还可以使用一些第三方的日志分析工具来解析wtmp文件,比如说Logstash、Splunk等工具,这些工具可以帮助用户更加方便
地对wtmp文件进行解析和分析,提取出有用的信息。
总的来说,解析wtmp文件的方法有很多种,可以根据具体的需求和情况选择合适的方法来进行解析。
不同的方法都有各自的优缺点,可以根据实际情况来选择最适合的解析方法。
/usr/adm——早期版本的Unix。
/Var/adm新一点的版本使用这个位置。
/Varflort一些版本的Solaris、 Linux BSD、 Free BSD使用这个位置。
/etc,大多数Unix版本把Utmp放在此处,一些Unix版本也把Wtmp放在这里,这也是Syslog.conf的位置。
下面的文件可能会根据你所在的目录不同而不同:
acct或pacct-一记录每个用户使用的命令记录。
accesslog主要用来服务器运行了NCSA HTTP服务器,这个记录文件会记录有什么站点连接过你的服务器。
aculo保存拨出去的Modems记录。
lastlog记录了最近的Login记录和每个用户的最初目的地,有时是最后不成功Login的记录。
loginlog一记录一些不正常的L0gin记录。
messages——记录输出到系统控制台的记录,另外的信息由Syslog来生成
security记录一些使用 UUCP系统企图进入限制范围的事例。
sulog记录使用su命令的记录。
utmp记录当前登录到系统中的所有用户,这个文件伴随着用户进入和离开系统而不断变化。
Utmpx,utmp的扩展。
wtmp记录用户登录和退出事件。
Syslog最重要的日志文件,使用syslogd守护程序来获得。
Linux常见日志和常用命令Linux 日志都以明文形式存储,所以我们不需要特殊的工具就可以搜索和阅读它们。
Linux 日志存储在/var/log 目录中,我们可以编写脚本,来扫描这些日志,并基于它们的内容去自动执行某些功能。
一、Linux常用的日志文件# /var/log/boot.log该文件记录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息。
# /var/log/cron该日志文件记录crontab守护进程crond所派生的子进程的动作,前面加上用户、登录时间和PID,以及派生出的进程的动作。
CMD的一个动作是cron派生出一个调度进程的常见情况。
REPLACE(替换)动作记录用户对它的cron文件的更新,该文件列出了要周期性执行的任务调度。
RELOAD动作在REPLACE动作后不久发生,这意味着cron注意到一个用户的cron文件被更新而cron需要把它重新装入内存。
该文件可能会查到一些反常的情况。
# /var/log/maillog该日志文件记录了每一个发送到系统或从系统发出的电子邮件的活动。
它可以用来查看用户使用哪个系统发送工具或把数据发送到哪个系统。
# /var/log/messages该日志文件是许多进程日志文件的汇总,从该文件可以看出任何入侵企图或成功的入侵。
该文件的格式是每一行包含日期、主机名、程序名,后面是包含PID或内核标识的方括号、一个冒号和一个空格,最后是消息。
该文件有一个不足,就是被记录的入侵企图和成功的入侵事件,被淹没在大量的正常进程的记录中。
但该文件可以由/etc/syslog文件进行定制。
由/etc/syslog.conf 配置文件决定系统如何写入/var/log/messages。
# /var/log/syslogRedHat Linux默认不生成该日志文件,但可以配置/etc/syslog.conf让系统生成该日志文件。
它和/etc/log/messages日志文件不同,它只记录警告信息,常常是系统出问题的信息,所以更应该关注该文件。
如何在Linux终端中查看系统日志在Linux操作系统中,终端是一个非常强大和方便的工具,可以用来执行各种系统任务和调试操作。
系统日志是记录操作系统运行状态和事件的重要信息来源。
通过查看系统日志,我们可以了解系统的运行状况、故障信息以及其他与系统相关的重要消息。
本文将介绍如何在Linux终端中查看系统日志。
一、通过命令行查看系统日志在Linux中,系统日志文件通常位于/var/log目录下。
我们可以使用命令行工具来查看并过滤这些日志文件,以获取我们所需的信息。
1. 查看系统日志文件在终端中,可以使用以下命令来查看系统日志文件:```$ cat /var/log/syslog```该命令将打印出syslog文件的内容,其中包含了系统运行时的各种事件和消息。
您可以通过滚动页面来查看完整的日志内容。
如果日志文件较大,可能需要按Ctrl + C来停止滚屏。
2. 过滤日志内容有时,系统日志文件可能非常庞大,其中包含了各种类型的信息。
为了更好地查找所需的日志内容,我们可以使用管道和过滤命令来筛选出特定的信息。
例如,要查看包含关键字"error"的日志条目,可以使用grep命令进行过滤:```$ cat /var/log/syslog | grep "error"```这将只显示包含"error"关键字的日志条目。
您可以根据需要更改关键字以及要过滤的日志文件。
3. 查看特定类型的系统日志文件除了syslog文件外,还有其他类型的系统日志文件,如auth.log,kernel.log和messages等。
这些文件包含了与系统安全、内核和其他重要消息相关的日志信息。
要查看这些特定类型的日志文件,您可以使用类似的命令:```$ cat /var/log/auth.log # 查看认证和安全相关的日志$ cat /var/log/kernel.log # 查看内核相关的日志$ cat /var/log/messages # 查看其他重要的系统消息```通过查看这些不同类型的日志文件,您可以更全面地了解系统的运行状况和事件。
常见操作系统日志记录和查看1.Unix系统日志与审计由于Unix种类繁多,各种系统存在一定的差异,但是大致的原理、命令都比较相似,下边的说明均以Linux为例。
1.1Unix系统日志日志对于安全来说,非常重要,他记录了系统每天发生的各种各样的事情,你可以通过他来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。
日志主要的功能有:审计和监测。
他还可以实时的监测系统状态,监测和追踪侵入者等等。
在Unix系统中,有三个主要的日志子系统:连接时间日志--由多个程序执行,把纪录写入到/var/log/wtmp和/var/run/utmp,login等程序更新wtmp和utmp文件,使系统管理员能够跟踪谁在何时登录到系统。
进程统计--由系统内核执行。
当一个进程终止时,为每个进程往进程统计文件(pacct或acct)中写一个纪录。
进程统计的目的是为系统中的基本服务提供命令使用统计。
错误日志--由syslogd(8)执行。
各种系统守护进程、用户程序和内核通过syslog(3)向文件/var/log/messages报告值得注意的事件。
另外有许多UNIX 程序创建日志。
像HTTP和FTP这样提供网络服务的服务器也保持详细的日志。
常用的日志文件如下:access-log 纪录HTTP/web的传输acct/pacct 纪录用户命令aculog 纪录MODEM的活动btmp 纪录失败的纪录lastlog 纪录最近几次成功登录的事件和最后一次不成功的登录messages 从syslog中记录信息(有的链接到syslog文件)sudolog 纪录使用sudo发出的命令sulog 纪录使用su命令的使用syslog 从syslog中记录信息(通常链接到messages 文件)utmp 纪录当前登录的每个用户wtmp 一个用户每次登录进入和退出时间的永久纪录xferlog 纪录FTP会话utmp、wtmp和lastlog日志文件是多数重用UNIX日志子系统的关键--保持用户登录进入和退出的纪录。
Linux 日志文件 utmp,wtmp,lastlog,messages
Linux 日志文件 utmp 、wtmp 、lastlog 、
messages :
1、有关当前登录用户的信息记录在文件 utmp 中;
录信息 注意: wtmp 和 utmp 文件都是二进制文件, 不能被诸如 tail 命令剪贴或合并(使用 cat 命令)。
用户
last 命令往回搜索 wtmp 来显示自从文件第一次创建以 来登录过的用户
QUOTE:
chyang pts/9 202.38.68.242 Tue Aug 1 08:34 - 11:23
(02:49) cfan pts/6 202.38.64.224 Tue Aug 1 08:33 - 08:48 (00:14) chyang pts/4 202.38.68.242 Tue Aug 1 08:32 -
12:13 (03:40) lewis pts/3 202.38.64.233 Tue Aug 1 08:06 - 11:09 (03:03) lewis pts/2 202.38.64.233 Tue Aug 1 07:56 - 11:09 (03:12)
如果指明了用户, 那么 last 只报告该用户的近期活动, 例如,
匚=f - who 命令
2、登录进入和退出纪录在文件 wtmp w 命令
3 、最后一次登录文件可以用 lastlog 命令察看; 4、messages
从 syslog 中记 他们 要使用 who 、 w 、 users 、 last 和 ac 来使用这两个文件包含 的信息。
例子:
键入 last ynguo 命令,然后按回车键,将显示如下内容:
QUOTE: ynguo pts/4 tc.e Fri Aug 4 16:50 - 08:20 (15:30) ynguo pts/4 tc.e Thu Aug 3 23:55 - 04:40 (04:44) ynguo pts/11 tc.e Thu Aug 3 20:45 - 22:02 (01:16) ynguo pts/0 tc.e Thu Aug 3 03:17 - 05:42 (02:25) ynguo pts/0
tc.e Wed Aug 2 01:04 - 03:16 1+02:12) ynguo pts/0 tc.e Wed Aug 2 00:43 - 00:54 (00:11) ynguo pts/9 tc.e Thu Aug 1 20:30 - 21:26 (00:55) users 用单独的一行打印出当前登录的用户,每
件并显示当前系统中每个用户和它所运行的进程信息 who 命令查询 utmp 文件并报告当前登录的每个用户 命令根据当前的 /var/log/wtmp 文件中的登录进入和退出来 报告用户连结的时间(小时) 例如,键入 ac 命令,然后按回车键,将显示如下内容: 个显示的用户名对应一个登录会话 w 命令查询 utmp 文
ac
都填以 0 ),并将一个新记录添写到 wtmp 文件中 。
读 wtmp
QUOTE: total 5177.47
键入 ac -d 命令,然后按回车键,将显示每天的总的连接时 间:
QUOTE:
Aug 12 total 261.87
Aug 13 total 351.39
Aug 14 total 396.09
Aug 15 total 462.63
Aug 16 total 270.45
Aug 17 total 104.29
两个文件中:
struct utmp { char ut_line[8]; /* tty line:
"ttyh0", "ttyd0", "ttyp0", ... */ char ut_name[8]; /* login name */ long ut_time; /* seconds since
Epoch */
登录时, login 程序填写这样一个结构,然后
将
其写入到 utmp 文件中,同时也将其添写到 wtmp 文件中。
注销时, init 进程将 utmp 文件中相应的记录擦除 (每个字节
Today total 179.02 utmp 文件,它记录当前登录进系统 的各个用户;
包含下列结构的一个二进制记录写入这
};
文件中的该注销记录,其ut_name 字段清除为0 。
在系统再启动时,以及更改系统时间和日期的前后,都在wtmp 文件中添写特殊的记录项。
who( 1 ) 程序读utmp 文件,并以可读格式打印其内容。
后来的UNIX 版本提供last( 1 ) 命令,它
读wtmp 文件并打印所选择的记录。
wtmp 文件,它跟踪各
个登录和注销事件。
wted
wtmp/utmp 日志编辑程序。
你可以使用这个工具编辑所
有wtmp 或者utmp 类型的文件。
z2
utmp/wtmp/lastlog 日志清理工具。
可以删除
utmp/wtmp/lastlog 日志文件中有关某个用户名的所有条目。
不过,如果用于Linux 系统需要手工修改其源代码,设置日志文件的位置。