/var/目录详解

var目录
/var 包括系统运行时要改变的数据。其中包括每个系统是特定的,即不能够与其他计算机共享的目录,如/var/log,/var/lock,/var/run。有些目录还是可以与其他系统共享,如/var/mail, /var/cache/man, /var/cache/fonts,/var/spool/news。var目录存在的目的是把usr目录在运行过程中需要更改的文件或者临时生成的文件及目录提取出来,由此可以使usr目录挂载为只读的方式。隐含要求var目录必须挂载为可以读写的方式。

通过对于该目录的分析注意如下的需要

1) 各个目录存在的目的以及作用。

2) 通过目录中的信息能够获得什么信息,如何对于该信息进行访问。

3) 对于目录中的文件操作是否安全。

/var/account/pact

目的:该目录保存系统中使用的进程记录。当一个进程终止时,把每个进程向统计文件(pacct或acct)中写一个纪录。进程统计的目的是为系统中的基本服务提供命令使用统计。该文件可以通过数据的工具(sa,ac)进行分析。

**使用:**进程统计子系统缺省不激活,它必须启动。在Linux系统中启动进程统计使用accton命令,必须 用root身份来运行。accton命令的形式accton file,file必须先存在。如果不存在则先使用touch命令来创建pacct文件:touch /var/log/pacct,然后运行accton: accton /var/account/pacct。一旦accton被激活,就可以使用lastcomm命令监测系统中任何时候执行的命令。若要关闭统计,可以使用不带任何参数的accton命令。
pact文件不可用cat直接读取其中的内容。

注意:该文件会大量增长,需要注意维护(删除,转储)

/var/crash

目的:系统崩溃时转储的文件,可以通过该文件分析down机的原因。

使用: crash工具对于该目录中的文件进行分析。
(参考文档:linux-2.6.20.6/Documentation/kdump/kdump.txt)

crash -S /boot/System.map-2.6.18-53.el5PAE /boot/vmlinuz-2.6.18-53.el5PAE /var/crash/xxxx

/var/cache

**目的:**存放应用程序的缓存数据,保存在该目录中的数据应用程序可以再生成,所以该目录中的数据丢失后不会影响系统。

/var/empty   
/var/games
/var/lib

该目录保存系统或者某个应用程序运行过程中的状态信息。用户不允许更改该目录下的文件。

/var/mail

邮件存储文件的目录,在CGS中链接到/var/spool/mail。在fhs文档中明确提出把它从/var/spool/mail提取出来以便于多主机多个应用程序共同使用。

/var/opt

add-on application在该目录下存放变量,在/opt下存放静态变量。

/var/tmp

应用程序产生的临时文件,可以定时整理。/usr/tmp -> …/var/tmp。

/var/lock

许多程序遵循在/var/lock 中产生一个锁定文件的约定,以支持他们正在使用某个特定的设备或文件。其他程序注意到这个锁定文件,将不试图使用这个设备或文件。注意该目录不可以随便更改。

/var/run

保存着自系统启动后的在该系统中正在运行的进程pid号,并非所有的进程都在该目录下存在pid文件。每个pid文件的作用与其应用程序相关,基本的作用就是标志该进程已经运行,且标志出该进程的pid号。在/var/run/subsys/目录中有对应的文件。当系统启动后不用删除其中的文件,系统启动后会清除该目录中的文件。/var/run/utmp是一个二进制文件,记录当前登录系统的用户信息。可用如who、w、users、finger命令显示当中的内容。该日志文件并不能包括所有精确的信息,因为某些突发错误会终止用户登录会话,而系统没有及时更新utmp记录,因此该日志文件的记录不是百分之百值得信赖的。

/etc/init.d/sendmail文件对于/var/run和/var/lock/subsys目录中的文件的有使用事例

/var/spool

保存某些需要后续进程继续处理的数据。当进程处理完成保存的数据文件后,会把该文件删除。该目录中的数据不要人工进行删除。

查找给目录中各个子目录的归属方法(以目录/var/spool/voice为例):

[root@localhost spool]# rpm -qf /var/spool/voice

mgetty-voice-1.1.33-9.fc6

由此可以找出/var/spool/voice目录与mgetty-voice包相关,从而可以使用如下命令来分析mgetty-voice包的命令及其作用。

/var/local

存放/usr/local 中安装的程序的可变数据(即系统管理员安装的程序)。

/var/preserve

编辑器存放的临时文件

/var/log
/var/log/boot.log

该文件记录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息。Redhat决定淘汰对initlog的使用,所以在/etc/init.d/functions中将所有调用initlog的命令给注释起来了,由此该文件为空。

/var/log/cron

该日志文件记录crontab守护进程crond所派生的子进程的动作。格式如下:

Aug 17 07:40:01 localhost crond[9434]: (root) CMD (/usr/lib/sa/sa1 1 1)

/var/log/maillog

该日志文件记录了每一个发送到系统或从系统发出的电子邮件的活动。它可以用来查看用户使用哪个系统发送工具或把数据发送到哪个系统。

/var/log/syslog

默认RedHatLinux不生成该日志文件,但可以配置/etc/syslog.conf让系统生成该日志文件。它和/etc/log/messages日志文件不同,它只记录警告信息,常常是系统出问题的信息,所以更应该关注该文件。要让系统生成该日志文件,在/etc/syslog.conf文件中加上:*.warning /var/log/syslog该日志文件能记录当用户登录时login记录下的错误口令、Sendmail的问题、su命令执行失败等信息。

/var/log/lastlog

该日志文件记录最近成功登录的事件和最后一次不成功的登录事件,由login生成。在每次用户登录时被查询,该文件是二进制文件,需要使用lastlog命令查看,根据UID排序显示登录名、端口号和上次登录时间。如果某用户从来没有登录过,就显示为"Neverloggedin"。该命令只能以root权限执行。

/var/log/wtmp

该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件。因此随着系统正常运行时间的增加,该文件的大小也会越来越大,增加的速度取决于系统用户登录的次数。该日志文件可以用来查看用户的登录记录,last命令就通过访问这个文件获得这些信息,并以反序从后向前显示用户的登录记录,last也能根据用户、终端tty或时间显示相应的记录。

/var/run/utmp 见/var/run目录

以上提及的3个文件(/var/log/wtmp、/var/run/utmp、/var/log/lastlog)是日志子系统的关键文件,都记录了用户登录的情况。这些文件的所有记录都包含了时间戳。这些文件是按二进制保存的,故不能用less、cat之类的命令直接查看这些文件,而是需要使用相关命令通过这些文件而查看。

/var/log/xferlog

该日志文件记录FTP会话,可以显示出用户向FTP服务器或从服务器拷贝了什么文件。该文件会显示用户拷贝到服务器上的用来入侵服务器的恶意程序,以及该用户拷贝了哪些文件供他使用。

该文件的格式为:第一个域是日期和时间,第二个域是下载文件所花费的秒数、远程系统名称、文件大小、本地路径名、传输类型(a:ASCII,b:二进制)、与压缩相关的标志或tar,或"_"(如果没有压缩的话)、传输方向(相对于服务器而言:i代表进,o代表出)、访问模式(a:匿名,g:输入口令,r:真实用户)、用户名、服务名(通常是ftp)、认证方法(l:RFC931,或0),认证用户的ID或"*"。

/var/log/Xfree86.x.log

该日志文件记录了X-Window启动的情况。

sysklogd

syslogd可以简单地被称为记录系统活动的一个daemons。比如可以记录谁,在什么时间,在哪里,做了什么事情;也可以记录系统曾经发生过什么事情,比如什么时候重新引导过、软硬件的错误信息等;当然也记录着您系统上运行着的服务的信息。通常,syslog 接受来自系统的各种功能的信息,每个信息都包括重要级。/etc/syslog.conf 文件决定 syslogd 如何根据设备和信息重要级别来报告信息。

/usr/include/sys/syslog.h

处理流程

/etc/syslog.conf
/etc/syslog.conf 文件使用下面的形式
acility.level action

空白行和以#开头的行可以忽略。Facility.level 字段也被称做 seletor。应该使用一次或多次 tab 键分隔 facility 和 action。大部分 Linux 使用这些空格为分隔符。

facility

   facility 指定 syslog 功能,主要包括以下这些:

          auth    认证系统,如login或su,即询问用户名和口令

          cron    系统执行定时任务时发出的信息

          daemon    某些系统的守护程序的 syslog,如由in.ftpd产生的log

          kern    内核的信息

          lpr     打印机的信息

          mail    处理邮件的守护进程发出的信息

          mark    定时发送消息的时标程序

          news    新闻组的守护进程的信息

          user    本地用户的应用程序的信息

          uucp    uucp子系统的信息

          local0----local7   与自定义程序使用,例如使用 local5 做为 ssh 功能

          *     表示所有可能的信息来源

level

与每个功能对应的优先级是按一定顺序排列的,emerg 是最高级,其次是 alert,依次类推。缺省时,在 /etc/syslog.conf 记录中指定的级别为该级别和更高级别。如果希望使用确定的级别可以使用两个运算符号!(不等)和=。

user.=info ----表示告知 syslog 接受所有在 info 级别上的 user 功能信息。

syslog 级别如下:

emerg 或 panic   该系统不可用

alert            需要立即被修改的条件

crit             阻止某些工具或子系统功能实现的错误条件

err             阻止工具或某些子系统部分功能实现的错误条件

warning         预警信息

notice           具有重要性的普通条件

info             提供信息的消息

debug           不包含函数条件或问题的其他信息

none            没有重要级,通常用于排错

action

action字段所表示的活动具有许多灵活性,特别是,可以使用名称管道的作用是可以使 syslogd 生成后处理信息。

syslog 主要支持以下活动

file     指定文件的绝对路径

terminal 或 print    完全的串行或并行设备标志符

@host   远程的日志服务器

username  发送信息到使用 write 的指定用户中

named pipe  指定使用 mkfifo 命令来创建的 FIFO 文件的绝对路径。

由于 syslogd 在系统非常繁忙时,可能会丢失信息,所以,可以用 cyclog 替换 syslog。

参考文档《Filesystem Hierarchy Standard》

http://www.ibm.com/developerworks/cn/linux/security/l-ossec/part1/

http://www.ibm.com/developerworks/cn/linux/security/l-ossec/part2/index.html

http://www.ibm.com/developerworks/cn/linux/security/l-ossec/part3/

(原文链接:https://blog.csdn.net/fyinsonw/article/details/4113124)

### 回答1: /var/log/messages是Linux系统的一个重要日志文件,记录系统运行过程中的各种信息,包括系统启动、关闭、运行错误、警告等。该日志文件由系统进程syslogd维护。可以使用tail、grep等命令查看其中的信息,帮助进行系统维护和故障诊断。 ### 回答2: /var/log/messages是Linux系统中的一种系统日志文件,用于记录系统的各种信息。它包含了系统启动、关闭、网络、文件系统、安全、硬件和错误信息等内容。通常,这个日志文件包含了全面的系统事件信息,并且是管理员分析系统故障的重要工具,可以用来跟踪系统日常的正常运行以及异常情况。 /var/log/messages 的格式一般如下: Apr 25 17:11:08 server1 kernel: [ 0.000000] Initializing cgroup subsys cpuacct 其中,Apr 25 17:11:08表示系统发生事件的日期、时间;server1为发生事件的主机名;kernel为事件的源代码;[0.000000]表示系统时间戳;Initializing cgroup subsys cpuacct 为事件的描述信息。 /var/log/messages中常见的信息包括: 1. 系统启动和关闭信息,如启动时间、关机时间、系统重启信息等。 2. 软件安装和卸载的日志信息,记录软件的版本、更新及升级的过程。 3. 用户登录信息和登出信息,包括用户名、登录和登出时间以及IP地址。 4. 系统性能的监控日志信息,如CPU利用率、内存利用率、磁盘空间利用率、网络流量等。 5. 网络信息,例如网络连接信息、网络配置信息、系统获取的IP地址等。 6. 硬件信息,如硬盘、CPU、内存板、显卡、鼠标、打印机等的连接状态、型号、识别码和错误信息。 7. 安全相关的信息,如权限控制、入侵检测和日志审查等,通常包括登录尝试失败、密钥变化、文件权限更改、访问受限等。 /var/log/messages的作用非常重要,通过它管理员可以方便地了解系统及各种操作的记录,分析并解决因运维错误、配置错误、硬件故障、安全漏洞等导致的系统故障等问题,以最大程度地保证系统可靠性和稳定性。同时,管理员也可以根据/var/log/messages中的记录追踪系统运行历史,进行系统性能评估和改善。 ### 回答3: /var/log/messages是一个系统日志记录文件,它记录了所有系统级别的事件,包括系统启动和关闭时间、登录和注销事件、内核警告和错误消息、系统进程的启动和停止等。该文件通常存储在Linux和其他类Unix操作系统的特定目录中,可以被系统管理员用来跟踪系统的健康状况和排除故障问题。 /var/log/messages中包含的信息范围很广,包括系统启动信息、内核信息、磁盘驱动器信息、用户登录信息和故障信息等。该文件中的每一项都含有一个时间戳(日期和时间)、主机名和处理该事件的程序的名称。这些信息在管理员查找和分析问题时非常有用。 /var/log/messages 还记录了系统事件的缩写,例如PANIC、ERROR、WARNING、INFO等。通过这些事件级别,管理员可以快速了解系统的运行状况和故障状况,从而快速做出反应和解决问题。 /var/log/messages对于调试系统问题和应用程序异常非常有用。管理员可以使用grep或其他工具来搜索特定的事件,以便查找特定问题的根源。例如,如果应用程序无法启动,系统管理员可以通过查看/var/log/messages文件来查找与该应用程序相关的事件,以确定导致应用程序失败的问题。 总之,/var/log/messages是一个非常重要的系统工具,它可以帮助管理员跟踪系统的运行状况和健康状况,并找到系统问题的根源。因此,管理员应该定期检查/var/log/messages并分析其中的数据,以确保系统健康状况,并有效地解决任何出现的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值