linux守護進程配置文件


守護進程是一種運行在非交互模式下的程序。一般來說,守護進程任務是和聯網區域有關的:它們等待連接,以便通過連接提供服務。Linux 可以使用從 Web 服務器到 ftp 服務器的很多守護進程。

/etc/syslog.conf

syslogd 是一種守護進程,它負責記錄(寫到磁盤)從其它程序發送到系統的消息。這個服務尤其常被某些守護進程所使用,這些守護進程不會有另外的方法來發出可能有問題存在的信號或向用戶發送消息。

1.文件格式

/etc/syslog.conf是syslog守護程序的配置文件.syslog守護程序為記錄來自運行於系統之上的程序的消息提供了一種成熟的客戶機 -服務器機制。syslog 接收來自守護程序或程序的消息,根據優先級和類型將該消息分類,然后根據由管理員可配置的規則將它寫入日志。結果是一個健壯而統一的管理日志的方法。

這個文件由一條條的規則組成.每條規則應該寫在一行內.但是如果某行以反斜線 \ 結尾的話,他的下個物理行將被認為與此行同屬於一行.空白行和以 # 開始的行將被忽略.

每條規則都是下面這種形式:

facility.priority[;facility.priority .....] action

facility和priority之間用一個英文句點分隔.他們的整體稱為selector. 每條規則可以有多個selector,selector之間用分號隔開. 而selector和action之間則用空格或者tab隔開.

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

auth 由 pam_pwdb 報告的認證活動。

authpriv 包括特權信息如用戶名在內的認證活動

cron 與 cron 和 at 有關的信息。

daemon 與 inetd 守護進程有關的信息。

kern 內核信息,首先通過 klogd 傳遞。

lpr 與打印服務有關的信息。

mail 與電子郵件有關的信息

mark syslog 內部功能用於生成時間戳

news 來自新聞服務器的信息

syslog 由 syslog 生成的信息

user 由用戶程序生成的信息

uucp 由 uucp 生成的信息

local0----local7 與自定義程序使用,例如使用 local5 做為 ssh 功能

* 通配符代表除了 mark 以外的所有功能

priority指定消息的優先級. 與每個功能對應的優先級是按一定順序排列的,emerg 是最高級,其次是 alert,依次類推。缺省時,在 /etc/syslog.conf 記錄中指定的級別為該級別和更高級別。如果希望使用確定的級別可以使用兩個運算符號!(不等)和=。

user.=info

表示告知 syslog 接受所有在 info 級別上的 user 功能信息。

可用的 syslog 優先級如下:

emerg 或 panic 該系統不可用

alert 需要立即被修改的條件

crit 阻止某些工具或子系統功能實現的錯誤條件

err 阻止工具或某些子系統部分功能實現的錯誤條件

warning 預警信息

notice 具有重要性的普通條件

info 提供信息的消息

debug 不包含函數條件或問題的其他信息

none 沒有重要級,通常用於排錯

* 所有級別,除了none

action字段所表示的活動具有許多靈活性,特別是,可以使用名稱管道的作用是可以使 syslogd 生成后處理信息。

syslog 主要支持以下action

file

指定文件的絕對路徑,如: /var/log/messages . log信息將寫到此文件中

terminal 或 printer

完全的串行或並行設備標志符,如/dev/console . log信息將送到此設備

@host

遠程的日志服務器. log信息將送到此日志服務器

username

發送信息給指定用戶

named pipe

指定使用 mkfifo 命令來創建的 FIFO 文件的絕對路徑。

如果對此文件作了改動, 想要使改動生效,您需要向 syslog 守護程序通知所做的更改。向它發送 SIGHUP 是個正確的辦法,您可以用 killall 命令輕松地做到這一點:

# killall -HUP syslogd

2.安全性

您應該清楚如果 syslogd 寫的日志文件還不存在的話,程序將創建它們。無論您當前的 umask 如何設置,該文件將被創建為可被所有用戶讀取。如果您關心安全性,那么您應該用 chmod 命令將該文件設置為僅 root 用戶可讀寫。此外,可以用適當的許可權配置 logrotate 程序(在下面描述)以創建新的日志文件。syslog 守護程序始終會保留現有日志文件的當前屬性,因此一旦創建了文件,您就不需要擔心它。

3.相關命令

logrotate

klogd

syslogd

dmesg

/etc/httpd.conf

Web 服務器 Apache 的配置文件。這個文件一般不在 /etc 中。它可能在 /usr/local/httpd/conf/ 或 /etc/httpd/conf/ 中,但是要確定它的位置,您還需要檢查特定的 Apache 安裝信息。

/etc/conf.modules or /etc/modules.conf

kerneld 的配置文件。有意思的是,kerneld 並不是“作為守護進程的”內核。它其實是一種在需要時負責“快速”加載附加內核模塊的守護進程。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM