王朝网络
分享
 
 
 

如何查看FreeBSD的系统日志

王朝system·作者佚名  2006-01-10
宽屏版  字体: |||超大  

由于FreeBSD是一个多用户系统,那么就需要管理员进行日常维护,特别是用做网络

服务器的系统,一旦因为缺乏维护而造成停机故障,就会造成很大损失。即使对于单用

户的FreeBSD系统,同样也要执行这些不可缺乏的维护任务,只是由于系统归个人使用,

那么对维护的要求就不必那么高,维护任务就轻松一些。

系统日志

系统的日志记录提供了对系统活动的详细审计,这些日志用于评估、审查系统的运

行环境和各种操作。对于一般情况,日志记录包括记录用户登录时间、登录地点、进行

什么操作等内容,如果使用得当,日志记录能向系统管理员提供有关危害安全的侵害或

入侵试图等非常有用的信息。

BSD提供了详细的各种日志记录,以及有关日志的大量工具和实用程序。这些审计记

录通常由程序自动产生,是缺省设置的一部分,能够帮助Unix管理员来寻找系统中存在

的问题,对系统维护十分有用。还有另一些日志记录,需要管理员进行设置才能生效。

大部分日志记录文件被保存在/var/log目录中,在这个目录中除了保存系统生成日志之

外,还包括一些应用软件的日志文件。当然/var目录下的其他子目录中也会记录下一些

其他种类的日志记录文件,这依赖于具体的应用程序的设置。

$ ls /var/log

adduser maillog.5.gz sendmail.st.1

dmesg.today maillog.6.gz sendmail.st.10

dmesg.yesterday maillog.7.gz sendmail.st.2

httpd-access.log messages sendmail.st.3

httpd-error.log messages.0.gz sendmail.st.4

kerberos.log messages.1.gz sendmail.st.5

lastlog messages.2.gz sendmail.st.6

lpd-errs messages.3.gz sendmail.st.7

maillog messages.4.gz sendmail.st.8

maillog.0.gz messages.5.gz sendmail.st.9

maillog.1.gz news setuid.today

maillog.2.gz ppp.log setuid.yesterday

maillog.3.gz sendmail.st userlog

maillog.4.gz sendmail.st.0 wtmp

系统登录日志

系统会保存每个用户的登录记录,这些信息包括这个用户的名字、登录起始结束时

间以及从何处登录入系统的等等。它们被保存到/var/log/lastlog、/var/log/wtmp和/

var/run/utmp文件中,这三个文件以二进制格式保存了这些用户的登录数据。

其中/var/run/utmp文件中保存的是当前系统用户的登录记录,因此这个文件会随着

用户进入和离开系统而不断变化,而它也不会为用户保留很长的记录,只保留当时联机

的用户记录。系统中需要查询当前用户状态的程序,如 who、w等就需要访问这个文件。

utmp可能不包括所有精确的信息,某些突发错误会终止用户登录会话,当没有及时更新

utmp记录,因此utmp的记录不是百分之百的可以信赖的。

而/var/log/wtmp保存了所有的登录、退出信息,以及系统的启动、停机记录,因此

随着系统正常运行时间的增加,它的大小也会越来越大,增加的速度依赖于系统用户登

录次数。因此可以利用这个日志用来查看用户的登录记录,last命令就通过访问这个文

件来获得这些信息,并以反序从后向前显示用户的登录记录,last也能根据用户、终端

tty或时间显示相应的记录。ac命令同样也使用wtmp中的数据产生报告,但它的显示方

式不同。它可以根据用户(ac -p),或按日期(ap -d)显示信息,这样管理员就能获

得一些非常有用的反常信息,如一个平时不太活跃的用户突然登录并连接很长时间,就

有理由怀疑这个帐户被窃取了。

注意:X Window由于会同时打开多个终端窗口,因此会使得用户登录连接时间迅速

增加。

lastlog文件保存的是每个用户的最后一次登录信息,包括登录时间和地点,这个文

件一般只有login程序使用,通过用户的UID,来在lastlog文件中查找相应记录,然后报

告其最后一次登录时间和终端tty。然后, login程序就使用新的记录更新这个文件。

这三个文件是使用二进制格式保存的,因此不能直接查看其中的内容,而需要使用

相关命令。当然也可以通过程序来访问这三个文件,这就需要了解它们使用的数据结构

。其中utmp和wtmp使用同样的数据结构,而lastlog使用另外一个数据结构,可使用man

来进行查询具体结构。如果系统的用户数量很多,那么wtmp文件的大小会迅速增加,在

系统/var文件系统空间紧张的情况下,就导致这个文件系统被占满。系统不会主动控制

这个文件的大小,因此这需要管理员的干预,需要手工及时清除,或编写shell脚本定期

保存和清除。

系统还可以提供记账统计的功能,要打开系统的计账功能,需要使用accton命令,

注意,accton必须跟随记账日志文件的名字作参数,而不带参数的accton将关闭记账进

程。

当打开了记账功能后,可以使用lastcomm来检查在系统中执行的所有命令的信息,

包括执行的命令、执行命令的用户、用户使用的终端tty,命令完成的时间,执行时间等

。从lastcomm的输出也能帮助管理员检查可能的入侵行为。

此外可以使用ac命令来查询用户的连接时间的报告,sa命令来查询用户消耗的处理

器时间的报告。

Syslog日志记录

最初,syslog只是为了sendmail而设计的消息日志工具,由于它提供了一个中心控

制点,使得sys log非常好用和易配置,因此当今很多程序都使用syslog来发送它们的记

录信息。syslog是一种强大的日志记录方式,不但可以将日志保存在本地文件中,还可

以根据设置将syslog记录发送到网络上的另一台主机中。

支持syslog方式的系统启动了syslogd守护进程,这个程序从本地的Unix套接字和监

听在514端口(UDP)上的Internet套接字,来获得syslog的记录。本机中进程使用sysl

og系统调用发送来sy slog记录,然后由syslogd将他们保存到正确的文件或发送到网络

上另一台运行syslogd主机中去。

syslogd的设置文件为/etc/syslog.conf,定义消息对应的相应目标,一条消息可以

达到多个目标,也可能被忽略。

# $Id: syslog.conf,v 1.9 1998/10/14 21:59:55 nate Exp $

#

# Spaces are NOT valid field separators in this file.

# Consult the syslog.conf(5) manpage.

*.err;kern.debug;auth.notice;mail.crit /dev/console

*.notice;kern.debug;lpr.info;mail.crit;news.err /var/log/messages

mail.info /var/log/maillog

lpr.info /var/log/lpd-errs

cron.* /var/cron/log

*.err root

*.notice;news.err root

*.alert root

*.emerg *

!ppp

*.* /var/log/ppp.log

syslog.conf的配置可以分为两个部分,第一部分用于区分消息的类型,另一个用于

设置消息发送的目的地。通常,消息的类型包括消息的产生者,例如kern表示内核产生

的消息,auth表示认证系统产生的消息,等等,还包括消息的级别,例如emerg表示非常

重要的紧急信息,alert表示系统告警状态,crit表示关键状态,err 表示一般的错误信

息,warning表示警告信息,notice表示提示信息,但还不是错误,info表示一般信息,

debug表示调试信息等,因此一个消息的类型可能为:kern.debug、mail.info等,但页

可以使用通配符*进行匹配。

从上面的syslog.conf的设置可以看出,系统正常运行中的很多重要的信息,如错误

信息*.err、内核调试信息kern.debuf、认证报告auth.notice等被直接输出的console中

,另外还有一些比较重要的信息被输出到/var/log/messages文件中,发送邮件的记录将

被保存在/var/log/mail log文件中,打印记录为/var/log/lpd-errs等,使得管理员可

以根据这些文件来查询相关记录,进行统计或寻找系统问题。其中使用syslog记录的me

ssages文件中包括root登录的信息、用户多次登录失败的尝试等对系统安全相当重要的

信息,因此也是系统遭受攻击之后,攻击者会根据syslog.conf中设置试图清除相关文件

中自己的登录记录。因此对于安全性要求更高的系统,可以尝试将syslog发送到另一台

计算机上,或者输出到一些设备文件中,如在打印机上立即打印输出。

系统会使用newsyslog定期检查syslog输出的messages文件和maillog文件,将旧数

据压缩保存为备份文件,如messages.1.gz等。

其他日志

除了系统登录记录和syslog记录之外,其他还有一些应用程序使用自己的记录方式

系统每天都会自动检查系统的安全设置,包括对SetUID、SetGID的执行文件的检查

,其结果将输出到/ var/log/security.today文件中,管理员可以与/var/log/securit

y.yeste rday文件对比,寻找系统安全设置的变化。

如果系统使用sendmail,那么sendmail.st文件中以二进制形式保存了sendmail的统

计信息。

在系统启动的时候,就将内核的检测信息输出到屏幕上,这些信息可以帮助用户分

析系统中的硬件状态。一般使用d mesg命令来查看最后一次启动时输出的这个检测信息

。这个信息也被系统保存在/var/log/dmesg.tod ay文件中,系统中同时也存在另一个文

件dmesg.yesterday,是上次的启动检测信息,对比这两个文件,就可以了解到系统硬件

和内核配置的变化。

lpd-errs记录了系统中lpd产生的错误信息。

此外,各种shell还会记录用户使用的命令历史,它使用用户主目录下的文件来记录

这些命令历史,通常这个文件的名字为.history(csh),或.bash-history等。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有