[linux]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)  对于目录中的文件操作是否安全。
目的:该目录保存系统中使用的进程记录。当一个进程终止时,把每个进程向统计文件(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直接读取其中的内容。
注意:该文件会大量增长,需要注意维护(删除,转储)
目的:系统崩溃时转储的文件,可以通过该文件分析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
目的:存放应用程序的缓存数据,保存在该目录中的数据应用程序可以再生成,所以该目录中的数据丢失后不会影响系统。
该目录保存系统或者某个应用程序运行过程中的状态信息。用户不允许更改该目录下的文件。
邮件存储文件的目录,在CGS中链接到/var/spool/mail。在fhs文档中明确提出把它从/var/spool/mail提取出来以便于多主机多个应用程序共同使用。
add-on application在该目录下存放变量,在/opt下存放静态变量。
应用程序产生的临时文件,可以定时整理。/usr/tmp -> ../var/tmp。
   许多程序遵循在/var/lock
中产生一个锁定文件的约定,以支持他们正在使用某个特定的设备或文件。其他程序注意到这个锁定文件,将不试图使用这个设备或文件。注意该目录不可以随便更改。
保存着自系统启动后的在该系统中正在运行的进程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/voice为例):
[[email protected] spool]# rpm -qf /var/spool/voice
mgetty-voice-1.1.33-9.fc6
由此可以找出/var/spool/voice目录与mgetty-voice包相关,从而可以使用如下命令来分析mgetty-voice包的命令及其作用。
存放/usr/local 中安装的程序的可变数据(即系统管理员安装的程序)。
编辑器存放的临时文件
/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启动的情况。
syslogd可以简单地被称为记录系统活动的一个daemons。比如可以记录谁,在什么时间,在哪里,做了什么事情;也可以记录系统曾经发生过什么事情,比如什么时候重新引导过、软硬件的错误信息等;当然也记录着您系统上运行着的服务的信息。通常,syslog
接受来自系统的各种功能的信息,每个信息都包括重要级。/etc/syslog.conf 文件决定 syslogd 如何根据设备和信息重要级别来报告信息。
/usr/include/sys/syslog.h
处理流程
                            
          /etc/syslog.conf
/etc/syslog.conf 文件使用下面的形式
              facility.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            没有重要级,通常用于排错
*              所有级别,除了none
action
       action字段所表示的活动具有许多灵活性,特别是,可以使用名称管道的作用是可以使syslogd 生成后处理信息。
syslog 主要支持以下活动
file    指定文件的绝对路径
terminal 或 print    完全的串行或并行设备标志符
@host  远程的日志服务器
username 发送信息到使用 write 的指定用户中
named pipe 指定使用 mkfifo 命令来创建的 FIFO 文件的绝对路径。
 
由于 syslogd 在系统非常繁忙时,可能会丢失信息,所以,可以用 cyclog 替换 syslog。
rpm -ql logrotate
       manlogrotate
       /etc/logrotate.conf
[[email protected] log]# cat/etc/logrotate.conf
# see "man logrotate" for details
# rotate log files weekly
weekly
 
# keep 4 weeks worth of backlogs
rotate 4
 
# create new (empty) log files after rotating old ones
create
 
# uncomment this if you want your log files compressed
#compress
 
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d
 
# no packages own wtmp -- we‘ll rotate them here
/var/log/wtmp {
    monthly
    create 0664 root utmp
    rotate 1
}
 
# system-specific logs may be also be configured here.
运行时机:
[[email protected] log]# rpm -ql logrotate
/etc/cron.daily/logrotate
/etc/logrotate.conf
/etc/logrotate.d
/usr/sbin/logrotate
/usr/share/doc/logrotate-3.7.4
/usr/share/doc/logrotate-3.7.4/CHANGES
/usr/share/man/man8/logrotate.8.gz
/var/lib/logrotate.status
/etc/logrotate.d/
[[email protected] log]# cat/etc/logrotate.d/yum
/var/log/yum.log {
   missingok
   notifempty
    size 30k
    create 0600 root root
}
[[email protected] log]# rpm -qf/etc/logrotate.d/yum
yum-3.0.5-1.el5.centos.5
 
参考文档《FilesystemHierarchy 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/
来源: <var目录 - 清闲居 - 博客频道 - CSDN.NET>
 

/var/account/pact

/var/crash 

/var/cache

/var/empty   

/var/games

/var/lib

/var/mail

/var/opt

/var/tmp

/var/lock

/var/run

/var/spool

/var/local

/var/preserve

/var/log

sysklogd

logrotate

来自为知笔记(Wiz)

时间: 2024-10-12 02:22:06

[linux]var目录作用的相关文章

Linux常见目录作用

Linux中一切皆文件 文件类型: 一般文件 - 目录文件 d 链接文件 l 块设备   b    (以块为单位进行操作,比如硬盘) 字符设备 c  (以字符为单位进行操作,比如主存) socket   s    (网络通讯设备) 管道     p ubuntu下terminal默认颜色 蓝色 - 目录 绿色 - 可执行文件 红色 - 压缩包 浅蓝色 - 链接文件 灰色 - 其他文件 Linux文件目录结构 /etc  配置文件 /boot 引导信息(EFI就在这里面) /var  日志 /ho

Linux各目录作用

Linux各目录的作用

1./bin目录 bin是binary(二进制)的缩写.这个目录沿袭了UNIX系统的结构,存放着使用者最经常使用的二进制可执行命令.例如cp.ls.cat,等等. 2./boot目录 这里存放的是启动Linux时使用的一些核心文件./boot目录存放引导加载器(bootstrap loader)使用的文件,如lilo,核心映像也经常放在这里, 而不是放在根目录中.但是如果有许多核心映像,这个目录就可能变得很大,这时使用单独的文件系统会更好一些.还有一点要注意的是,要确保核心映像必须在i d e硬

linux 各个目录和相关文件的作用等 (混乱版)初学者自用

/etc/profile文件当一个用户登陆linux系统或者使用su命令切换到另一个用户时,也就是login shell启动时首先要保证执行的启动脚本就是/etc/profile ??/etc/profile.d目前得知的作用 是可以吧吧命令符修改颜色设置等? ?只有Login shell 启动时才会运行 /etc/profile 这个脚本,而Non-login shell 不会调用这个脚本PATH: 预设可执行文件或命令的搜索路径.USER: 用户登录时使用的用户名.LOGNAME: 其值为$

Linux系统的目录结构及各目录作用

使用tree命令查看Linux目录结构,这个命令默认是没有安装的,需要手动安装一下. [[email protected] xf]# mount /dev/sr0 /media/ mount: /dev/sr0 写保护,将以只读方式挂载 [[email protected] xf]# rpm -ivh /media /Packages/tree-1.6.0-10.el7.x86_64.rpm 准备中...                          ####################

linux常见目录及作用概述、CentOS6/7启动流程概述

linux常见目录及作用概述: /lost 一般为空,当linux非正常关机后,进入救援模式后恢复的文件/bin     简单理解为命令所存在的路径/boot         系统引导程序所需的文件目录,一般测试环境为200-256M/dev 存放设备软件目录,比如磁盘.光驱等等.../etc  系统配置.启动程序,比如网卡信息.GRUB信息等等.../home  普通用户的家目录/lib   启动系统和运行命令所需的共享文件库和内核模块存放/mnt 临时挂载点,可以理解为连接系统和U盘.镜像的

linux下mnt目录作用

linux下mnt目录作用 一.mount 英文解释 登上; 爬上; 攀登; 骑上; 乘上; 跨上 可直接理解为“挂载” 挂接光驱.USB设备的目录,加载后,会在mnt里多出相应设备的目录.mnt是mount的缩写. 二.Mount命令 需要注意的: 1.挂载点必须是一个目录. 2.一个分区挂载在一个已存在的目录上,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用.对于其他操作系统建立的文件系统的挂载也是这样. 3.光盘.软盘.其他操作系统使用的文件系统的格式与linux使用的文件系统格

linux中/etc与/var目录,各是什么意思?这两个目录下的文件有什么特点?

http://zhidao.baidu.com/link?url=DkxU9CyhJb_dIUAPCmPmxRtQsENgCzqy5qnLPEj_V9DqNzdt6Qya0U5iCVRCYFkgoRomoqUS_ZO7aIikccOTta /var 文件系统 /var 包含系统一般运行时要改变的数据.通常这些数据所在的目录的大小是要经常变化或扩充的.原来 /var 目录中有些内容是在 /usr 中的,但为了保持 /usr 目录的相对稳定,就把那些需要经常改变的目录放到 /var 中了.每个系统是

Linux 相关目录介绍

学习Linux,首先了解Linux标准目录结构很重要的,对以后的学习有很好的铺垫作用.本文不会去罗列大而全的全部目录.本文主要说明,笔者本人接触,需要了解的一些文件目录,当然本文也会不断的更新或更改.也希望有幸可以阅读到本文,并且愿意指正本人文中不当或歧义的读者,给出你们宝贵的意见或建议. Linux目录类似一个树,最顶层是其根目录. /root 启动Linux时使用的一些核心文件. /etc         [etcetera] 系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配