(syslog-2)syslog.conf配置文件详解

 http://blog.chinaunix.net/uid-17240700-id-2813887.html
LINUX保存了系统中所发生事件的详细记录,这些记录称作日志文件或消息文件.可以查阅日志文件来确定系统当前状态,观察入侵者踪迹,寻找某特定程序(或事件)相关的数据.
        syslogd与klogd(监控linux内核提交的消息)守护进程负责记录,发送系统或工具产生的信息,二者的配置文件都是/etc/syslog.conf.
当系统内核或工具产生信息时,通过调用相关函数将信息发送到syslogd或klogd守护进程.syslogd与klogd守护进程会根据/etc/syslog.conf中的配置信息,对消息的去向作出处理.
 
        说明:
        syslog.conf是syslogd进程的配置文件,将在程序启动时读取,默认位置是/etc/syslog.conf.这个配置文件中的空白行和以"#"开头的行将被忽略."facility.level"部分也被称为选择符(seletor). seletor和action之间使用一个或多个空白分隔.它指定了一系列日志记录规则.规则的格式如下:
        seletor(facility.level)    action
        选择符(seletor)(选择符由 facility 和 level 两部分组成,之间用一个句点(.)连接)

void openlog(const char *ident, int option, intfacility);

void syslog(intpriority, const char *format, ...);


        A.facility 指定了产生日志的子系统,可以是下面的关键字之一:
                关键字              值       解释
                kern                0        内核信息,首先通过 klogd 传递.
                user                1        由用户程序生成的信息.
                mail                2        与电子邮件有关的信息.
                daemon              3        与 inetd 守护进程有关的信息.
                auth                4        由 pam_pwdb 报告的认证活动.
                syslog              5        由 syslog 生成的信息.
                lpr                 6        与打印服务有关的信息.
                news                7        来自新闻服务器的信息.
                uucp                8        由 uucp 生成的信息.(uucp = unix to unix copy)
                cron                9        与 cron 和 at 有关的信息.
                authpriv           10        包括私有信息(如用户名)在内的认证活动
                ftp                11        与 FTP 有关的信息.
                                12-15        系统保留
                local0 ~ local7  16-23        由自定义程序使用,例如使用 local5 做为 ssh 功能
                mark                         syslog内部功能用于生成时间戳.
                *                            通配符代表除了 mark 以外的所有功能
        在大多数情况下,任何程序都可以通过任何facility发送日志消息,但是一般都遵守约定俗成的规则.比如,只有内核才能使用"kern"facility.
 
        B.level指定了消息的优先级,可以是下面的关键字之一(降序排列,严重性越来越低):
                关键字               值        解释
                emerg                0        系统不可用
                alert                1        需要立即被修改的条件
                crit                 2        (临界)阻止某些工具或子系统功能实现的错误条件
                err                  3        阻止工具或某些子系统部分功能实现的错误条件
                warning              4        预警信息
                notice               5        具有重要性的普通条件
                info                 6        提供信息的消息
                debug                7        不包含函数条件或问题的其他信息
                none                          (屏蔽所有来自指定设备的消息)没有优先级,通常用于排错
                *                             除了none之外的所有级别
        facility部分可以是用逗号(,)分隔的多个子系统,而多个seletor之间也可以通过分号(;)组合在一起.
        注意:多个组合在一起的选择符,后面的会覆盖前面的,这样就允许从模式中排除一些优先级.
        默认将对指定级别以及更严重级别的消息进行操作,但是可以通过下面2个操作符进行修改.
                等于操作符(=)表示仅对这个级别的消息进行操作,不等操作符(!)表示忽略这个级别以及更严重级别的消息.这两个操作符可以同时使用,不过"!"必须出现在"="的前面.
 
 
        动作(action)
        动作确定了syslogd与klogd守护进程将日志消息发送到什么地方去.有以下几种选择:
        普通文件        使用文件的绝对路径来指明日志文件所在的位置,例如:/var/log/cron.
        终端设备        终端可以是/dev/tty0~/dev/tty6,也可以为/dev/console.
        用户列表        例如动作为“root hackbutter”,将消息写入到用户root与hackbutter的计算机屏幕上.
        远程主机        将信息发往网络中的其他主机的syslogd守护进程,格式为 “@hostname”.
 
 
        配置文件的语法说明
                (1)    *用作设备或优先级时,可以匹配所有的设备或优先级.
                (2)    *用作动作时,将消息发送给所有的登录用户.
                (3)    多个选择器可在同一行中,并使用分号分隔开,且后面的会覆盖前面的.如,uucp,news.crit.
                (4)    关键字none用作优先级时,会屏蔽所有来自指定设备的消息.
                (5)    通过使用相同的选择器和不同的动作,同一消息可以记录到多个位置.
                (6)    syslog.conf文件中后面的配置行不会覆盖前面的配置行,每一行指定的动作都独立的运作.
 
 
        实例详解:
        //将info或更高级别的消息送到/var/log/messages,除了mail,authpriv,cron以外.
        //其中*是通配符,代表任何设备;none表示不对任何级别的信息进行记录.
        *.info;mail.none;authpriv.none;cron.none                /var/log/messages
        //将mail设备中的任何级别的信息记录到/var/log/maillog文件中,这主要是和电子邮件相关的信息.
        mail.*                                                  -/var/log/maillog
 
        //将authpirv设备的任何级别的信息记录到/var/log/secure文件中,这主要是一些和权限使用相关的信息.
        authpriv.*                                              /var/log/secure
        //将cron设备中的任何级别的信息记录到/var/log/cron文件中,这主要是和系统中定期执行的任务相关的信息.
        cron.*                                                  /var/log/cron
        //将任何设备的emerg(系统不可用)级别的信息发送给所有正在系统上的用户.
        *.emerg                                                 *
        //将uucp和news设备的crit(临界)级别的信息记录到/var/log/spooler文件中.
        uucp,news.crit                                          /var/log/spooler
        //将和系统启动相关的信息记录到/var/log/boot.log文件中.
         local7.*                                                /var/log/boot.log
  //例如增加将和防火墙相关的发给fw.log
         local3.*                                                /var/log/fw.log
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值