天天看點

syslog 配置和使用(非syslog服務)

在centos上,syslog其實是rsyslog,對應的配置檔案為/etc/rsyslog.conf,守護程序為:/etc/rsyslog.d

//重新開機日志服務
[root@localhost admin]# service rsyslog restart
關閉系統日志記錄器:                                       [确定]
啟動系統日志記錄器:                                       [确定]
[root@localhost admin]#      

ref: ​​http://www.linuxquestions.org/questions/linux-security-4/what-is-local0-through-local7-310637/​​

another thing is that :

local0-local7 are local facilities defined by the user, to log specific deamons

for example:

you can change the sshd_config file ( which is the configuration file of the sshd deamon )

from

Syslogfacility authpriv

to

Syslogfacility local7

and add the following line in the /etc/rsyslog.conf file

local7.* /var/log/sshd.log

after restarting rsyslogd and sshd, any ssh sessions to the server will be logged in the /var/log/sshd.log file

原文​​javascript:void(0)​​

unix類系統提供了系統範圍的日志服務支援:syslogd。Syslogd啟動時讀配置檔案/etc/syslog.conf。syslog.conf的每一行(#開頭的為注釋,将被忽略)由“選擇符 動作”組成(selector action)。

選擇符的形式為“設施.優先級”(facility.priority)。設施和優先級的名字都是系統提供的标準名字。

設施(facility):

kern 0 核心日志消息

user 1 随機的使用者日志消息

mail 2 郵件系統日志消息

daemon 3 系統守護程序日志消息

auth 4 安全管理日志消息

syslog 5 syslogd本身的日志消息

lpr 6 列印機日志消息

news 7 新聞服務日志消息

uucp 8 UUCP系統日志消息

cron 9 系統始終守護程序crond的日志消息

authpriv 10 私有的安全管理日志消息

ftp 11 ftp守護程序日志消息

12~15 保留為系統使用

local0~local7 16~23保留為本地使用

優先級(priority),優先級越低情況越嚴重:

emerg 0 系統不可用

alert 1 必須馬上采取行動的事件

crit 2 關鍵的事件

err 3 錯誤事件

warning 4 警告事件

notice 5 普通但重要的事件

info 6 有用的資訊

debug 7 調試資訊

可以用表示任何設施(句點前的)或任何優先級(句點後的*)。指定一個優先級的意思為大于等于該優先級的日志消息。可以用none表示不包括任何優先級。

Linux對bsd的syslog做了一些擴充,引入了’=’和’!’。可以在任何一個優先級前用’=’,表示僅僅針對該優先級而不包括大于它的優先級。’!’表示求反,可以放在優先級或’=’前面(如果有的話),表示和原來相反的意思。

具有相同優先級的幾個設施可以一起寫在句點前面,用’,’分開。具有相同動作的多個選擇符可以寫在同一行的選擇符域,各個選擇符之間用’;’分開。

一個合法的選擇符為如下一些情況(舉例說明):

1,. :任何設施的任何優先級的日志消息

1,local0.*: local0的任何優先級的日志消息

2,*.crit任何設施的優先級大于等于關鍵事件的日志消息

3,*.=crit 任何設施的關鍵事件日志消息

4,.;kern.none 除kern外的其他任何設施的任何日志消息

5,kern.info;kern.!err kern設施從info到warning之間的日志消息

動作域描述抽象名詞”logfile”,一個”logfile”不必是一個真正的檔案。Syslogd提供了如下的動作:

1,正常的檔案,用檔案的全路徑名描述。路徑名前加’-‘表示忽略同步檔案。

2,命名管道(fifo)。在表示命名管道的檔案全路徑名前加”|”表示将日志寫入命名管道。

3,終端和控制台。如/dev/console。

4,遠端機器。“@hostname”

5,使用者清單

6,登入的所有使用者。用*表示。