一、登錄文件概述
1.什么是登錄文件
簡單的說,就是記錄系統活動信息的幾個文件, 例如:何時、何地
(來源 IP)、何人 (什么服務名稱)、做了什么動作 (訊息登錄啰)。 換句話說就是:記
錄系統在什么時候由哪個程序做了什么樣的行為時,發生了何種的事件等等。
2.常見登錄文件
/var/log/boot.log:
開機的時候系統核心會去偵測與啟動硬件,接下來開始各種核心支持的功能啟動等。這些流程都會記錄在
/var/log/boot.log 里面哩! 不過這個文件只會存在
這次開機啟動的信息,前次開機的信息并不會被保留下來!/var/log/cron:
還記得第十五章例行性工作調度吧?你的 crontab 調度有沒有實際被進行? 進行過程有沒有發生錯誤?你的
/etc/crontab 是否撰寫正確?在這個登錄文件內查
詢看看。/var/log/dmesg:
記錄系統在開機的時候核心偵測過程所產生的各項信息。由于 CentOS默認將開機時核心的硬件偵測過程取消顯示, 因此額外將數據記錄一份在這個文件中;
/var/log/lastlog:
可以記錄系統上面所有的帳號最近一次登陸系統時的相關信息。第十三章講到的 lastlog 指令就是利用這個文件的記錄信息來顯示的。
/var/log/maillog或 /var/log/mail/ *:
記錄郵件的往來信息,其實主要是記錄 postfix(SMTP 協定提供者) 與 dovecot (POP3 協定提供者) 所產生的訊息啦。 SMTP 是發信所使用的通訊協定, POP3 則是收信使用的通訊協定。 postfix 與 dovecot 則分別是兩套達成通訊協定的軟件。
/var/log/messages:這個文件相當的重要,幾乎系統發生的錯誤訊息 (或者是重要的信息) 都會記錄在這個文件中; 如果系統發生莫名的錯誤時,這個文件是一定要查閱的登錄文件之一。/var/log/secure:
基本上,只要牽涉到“需要輸入帳號密碼”的軟件,那么當登陸時 (不管登陸正確或錯誤) 都會被記錄在此文件中。 包括系統的
login程序、圖形接口登陸所使
用的 gdm 程序、su,sudo等程序、還有網絡連線的ssh, telnet 等程序, 登陸信息都會
被記載在這里;/var/log/wtmp, /var/log/faillog:
這兩個文件可以記錄正確登陸系統者的帳號信息(wtmp) 與錯誤登陸時所使用的帳號信息 (faillog) ! 我們在第十章談到的
last就是
讀取 wtmp 來顯示的, 這對于追蹤一般帳號者的使用行為很有幫助!/var/log/httpd/, /var/log/samba/:
不同的網絡服務會使用它們自己的登錄文件來記載它們自己產生的各項訊息!上述的目錄內則是個別服務所制訂的登錄文件。
二、登錄文件管理
CentOS 提供rsyslog.service這個服務來統一管理登錄文件喔!
并且,登錄日志過于龐大的問題可以通過 logrotate(登錄文件輪替) 這玩意兒來自動化處理登錄文件容量與更新的問題喔!
所謂的 logrotate 基本上,就是將舊的登錄文件更改名稱,然后創建一個空的登錄文件,如此
一來, 新的登錄文件將重新開始記錄,然后只要將舊的登錄文件留下一陣子,嗯!那就可以
達到將登錄文件“輪轉”的目的啦! 此外,如果舊的記錄 (大概要保存幾個月吧!) 保存了一
段時間沒有問題,那么就可以讓系統自動的將他砍掉, 免得占掉很多寶貴的硬盤空間說!
總結一下,針對登錄文件所需的功能,我們需要的服務與程序有:
systemd-journald.service:最主要的訊息收受者,由 systemd 提供的;
rsyslog.service:主要登錄系統與網絡等服務的訊息;
logrotate:主要在進行登錄文件的輪替功能。
1.日志格式
以下面日志為例:
[root@study ~]#cat/var/log/secure
Aug1718:38:06studylogin: pam_unix(login:session): session openedforuser root by LOGIN(uid=0)
Aug1718:38:06studylogin: ROOT LOGIN ON tty1
Aug1718:38:19studylogin: pam_unix(login:session): session closedforuser root
Aug1823:45:17study sshd[18913]: Accepted passwordfordmtsai from192.168.1.200port41524ssh2
Aug1823:45:17study sshd[18913]: pam_unix(sshd:session): session openedforuser dmtsai by (uid=0)
Aug1823:50:25studysudo: dmtsai : TTY=pts/0; PWD=/home/dmtsai ; USER=root ; COMMAND=/bin/su-Aug1823:50:25studysu: pam_unix(su-l:session): session openedforuser root by dmtsai(uid=0)|--日期/時間---|--H--|-服務與相關函數-|-----------訊息說明------>
主要包括:日期 時間 主機名稱 指令/程序 訊息內容
8.17 18:38 syudy login root在tty1登錄了
2.rsyslog.service簡介
參見:https://www.cnblogs.com/uetucci/p/7767064.html
3.logrotate簡介
參見:http://blog.csdn.net/cjwid/article/details/1690101
關于特殊屬性的管理——chattr與lsattr可以參見之前隨筆,或點擊這里查看簡要用法
4.日志監控logwatch簡介
參見:https://www.cnblogs.com/kevingrace/p/6519504.html
三、開機流程管理
拓展閱讀參考:http://blog.csdn.net/yzhang6_10/article/details/52177128
完整介紹,參考鳥哥私房菜
1.centos7開機流程簡介
四、忘記密碼的救援/單用戶模式
centos6,參考:https://www.cnblogs.com/xiaoluo501395377/archive/2013/05/19/3087664.html
centos7,參考:https://www.cnblogs.com/zhangjianghua/p/6094496.html