日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

鸟哥的Linux私房菜(基础篇)- 第十九章、认识与分析登录文件

發布時間:2025/3/21 linux 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 鸟哥的Linux私房菜(基础篇)- 第十九章、认识与分析登录文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
第十九章、認識與分析登錄文件
最近升級日期:2009/09/14
當你的 Linux 系統出現不明原因的問題時,很多人都告訴你,你要查閱一下登錄文件才能夠知道系統出了什么問題了,所以說,了解登錄文件是很重要的事情呢。登錄文件可以記錄系統在什么時間、哪個主機、哪個服務、出現了什么信息等資訊,這些資訊也包括使用者識別數據、系統故障排除須知等資訊。如果你能夠善用這些登錄文件資訊的話,你的系統出現錯誤時,你將可以在第一時間發現,而且也能夠從中找到解決的方案,而不是昏頭轉向的亂問人呢。此外,登錄文件所記錄的資訊量是非常大的,要人眼分析實在很困難。此時利用 shell script 或者是其他軟件提供的分析工具來處理復雜的登錄文件,可以幫助你很多很多喔!

1. 什么是登錄文件:登錄文件的重要性, 常見檔名,服務與程序
2. syslogd :記錄登錄文件的服務
  2.1 登錄文件內容的一般格式
  2.2 syslog 的配置檔: /etc/syslog.conf, 默認的 syslog.conf 內容
  2.3 登錄文件的安全性配置
  2.4 登錄文件服務器的配置
3. 登錄文件的輪替 (logrotate)
  3.1 logrotate 的配置檔
  3.2 實際測試 logrotate 的動作
  3.3 自訂登錄文件的輪替功能
4. 分析登錄文件
  4.1 CentOS 默認提供的 logwatch
  4.2 鳥哥自己寫的登錄文件分析工具:
5. 本章習題練習
6. 針對本文的建議:http://phorum.vbird.org/viewtopic.php?t=23895

什么是登錄文件

詳細而確實的分析以及備份系統的登錄文件』是一個系統管理員應該要進行的任務之一。那么什么是登錄文件呢?簡單的說,就是記錄系統活動資訊的幾個文件,例如:何時、何地 (來源 IP)、何人 (什么服務名稱)、做了什么動作 (信息登錄羅)。換句話說就是:記錄系統在什么時候由哪個程序做了什么樣的行為時,發生了何種的事件等等

要知道的是,我們的 Linux 主機在背景之下有相當多的 daemons 同時在工作著,這些工作中的程序總是會顯示一些信息,這些顯示的信息最終會被記載到登錄文件當中啦。也就是說,記錄這些系統的重要信息就是登錄文件的工作啦!


登錄文件的重要性

為什么說登錄文件很重要,重要到系統管理員需要隨時注意他呢?我們可以這么說:

  • 解決系統方面的錯誤

    用 Linux 這么久了,你應該偶而會發現系統可能會出現一些錯誤,包括硬件捉不到或者是某些系統程序無法順利運行的情況。此時你該如何是好?由於系統會將硬件偵測過程記錄在登錄文件內,你只要透過查詢登錄文件就能夠了解系統作了啥事!并且由第十七章我們也知道 SELinux 與登錄文件的關系更加的強烈!所以羅,查詢登錄文件可以克服一些系統問題啦!

  • 解決網絡服務的問題

    你可能在做完了某些網絡服務的配置后,卻一直無法順利啟動該服務,此時該怎辦?去廟里面拜拜抽簽嗎?三太子大大可能無法告訴你要怎么處理呢!由於網絡服務的各種問題通常都會被寫入特別的登錄文件,其實你只要查詢登錄文件就會知道出了什么差錯,還不需要請示三太子大大啦!舉例來說,如果你無法啟動郵件服務器 (sendmail),那么查詢一下 /var/log/maillog 通常可以得到不錯的解答!

  • 過往事件記錄簿

    這個東西相當的重要!例如:你發現 WWW 服務 (apache 軟件) 在某個時刻流量特別大,你想要了解為什么時,可以透過登錄文件去找出該時段是哪些 IP 在連線與查詢的網頁數據為何,就能夠知道原因。此外,萬一哪天你的系統被入侵,并且被利用來攻擊他人的主機,由於被攻擊主機會記錄攻擊者,因此你的 IP 就會被對方記錄。這個時候你要如何告知對方你的主機是由於被入侵所導致的問題,并且協助對方繼續往惡意來源追查呢?呵呵!此時登錄文件可是相當重要的呢!
Tips:
所以我們常說『天助自助者』是真的啦!你可以透過 (1)察看螢幕上面的錯誤信息與(2)登錄文件的錯誤資訊,幾乎可以解決大部分的 Linux 問題!

Linux 常見的登錄文件檔名

登錄文件可以幫助我們了解很多系統重要的事件,包括登陸者的部分資訊,因此登錄文件的權限通常是配置為僅有 root 能夠讀取而已。而由於登錄文件可以記載系統這么多的詳細資訊,所以啦,一個有經驗的主機管理員會隨時隨地查閱一下自己的登錄文件,以隨時掌握系統的最新脈動!那么常見的幾個登錄文件有哪些呢?一般而言,有下面幾個:

  • /var/log/cron
    還記得第十六章例行性工作排程吧?你的 crontab 排程有沒有實際被進行?進行過程有沒有發生錯誤?你的 /etc/crontab 是否撰寫正確?在這個登錄文件內查詢看看。

  • /var/log/dmesg
    記錄系統在啟動的時候核心偵測過程所產生的各項資訊。由於 CentOS 默認將啟動時核心的硬件偵測過程取消顯示,因此額外將數據記錄一份在這個文件中;

  • /var/log/lastlog
    可以記錄系統上面所有的帳號最近一次登陸系統時的相關資訊。第十四章講到的 lastlog 命令就是利用這個文件的記錄資訊來顯示的。

  • /var/log/maillog 或 /var/log/mail/*
    記錄郵件的往來資訊,其實主要是記錄 sendmail (SMTP 協議提供者) 與 dovecot (POP3 協議提供者) 所產生的信息啦。SMTP 是發信所使用的通訊協議, POP3 則是收信使用的通訊協議。 sendmail 與 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/news/*, /var/log/samba/*
    不同的網絡服務會使用它們自己的登錄文件來記載它們自己產生的各項信息!上述的目錄內則是個別服務所制訂的登錄文件。

常見的登錄文件就是這幾個,但是不同的 Linux distributions ,通常登錄文件的檔名不會相同 (除了 /var/log/messages 之外 )。所以說,你還是得要查閱你 Linux 主機上面的登錄文件配置數據,才能知道你的登錄文件主要檔名喔!


登錄文件所需相關服務 (daemon) 與程序

那么這些登錄文件是怎么產生的呢?基本上有兩種方式,一種是由軟件開發商自行定義寫入的登錄文件與相關格式,例如 WWW 軟件 apache 就是這樣處理的。另一種則是由 Linux distribution 提供的登錄文件管理服務來統一管理。你只要將信息丟給這個服務后,他就會自己分門別類的將各種信息放置到相關的登錄文件去!CentOS 提供 syslogd 這個服務來統一管理登錄文件喔!

除了這個 syslogd 之外,我們的核心也需要額外的登錄服務來記錄核心產生的各項資訊,這個專門記錄核心資訊的登錄文件服務就是 klogd 啦。所以說,登錄文件所需的服務主要就是 syslogd與 klogd 這兩者。

不過要注意的是,如果你任憑登錄文件持續記錄的話,由於系統產生的資訊天天都有,那么你的登錄文件的容量將會長大到無法無天~如果你的登錄文件容量太大時,可能會導致大文件讀寫效率不佳的問題 (因為要從磁碟讀入內存,越大的文件消耗內存量越多)。所以羅,你需要對登錄文件備份與升級。那...需要手動處理喔?當然不需要,我們可以透過 logrotate (登錄文件輪替) 這玩意兒來自動化處理登錄文件容量與升級的問題喔!

所謂的 logrotate 基本上,就是將舊的登錄文件更改名稱,然后創建一個空的登錄文件,如此一來,新的登錄文件將重新開始記錄,然后只要將舊的登錄文件留下一陣子,嗯!那就可以達到將登錄文件『輪轉』的目的啦!此外,如果舊的紀錄 (大概要保存幾個月吧!) 保存了一段時間沒有問題,那么就可以讓系統自動的將他砍掉,免得占掉很多寶貴的磁盤空間說!

總結一下,針對登錄文件所需的功能,我們需要的服務與程序有:

  • syslogd:主要登錄系統與網絡等服務的信息;
  • klogd:主要登錄核心產生的各項資訊;
  • logrotate:主要在進行登錄文件的輪替功能。

由於我們著眼點在於想要了解系統上面軟件所產生的各項資訊,因此本章主要針對 syslogd 與 logrotate 來介紹。接著下來我們來談一談怎么樣規劃這兩個玩意兒。就由 syslogd 這支程序先談起吧!畢竟得先有登錄文件,才可以進行logrotate 呀!您說是吧!


syslogd :記錄登錄文件的服務

剛剛提到說 Linux 的登錄文件主要是由 syslogd 在負責,那么你的 Linux是否有啟動 syslogd 呢?而且是否有配置啟動時啟動呢?呵呵!檢查一下先:

[root@www ~]# ps aux | grep syslog USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 4294 0.0 0.0 1716 568 ? Ss Mar31 0:00 syslogd -m 0 # 瞧!確實有啟動的![root@www ~]# chkconfig --list syslog syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off # 默認情況下,文字介面與圖形介面 (3, 5) 都有啟動喔!

看到 syslog 這個服務名稱了吧?所以知道他已經在系統中工作羅!好了,既然本章主要是講登錄文件,那么你知道登錄文件的內容是如何展現的?syslog 的配置檔在哪里?如何配置?如果你的 Linux 主機想要當作整個局域網的登錄文件服務器時,又該如何配置?底下就讓我們來玩玩這玩意!


登錄文件內容的一般格式

一般來說,系統產生的信息經過 syslog 而記錄下來的數據中,每條信息均會記錄底下的幾個重要數據:

  • 事件發生的日期與時間;
  • 發生此事件的主機名稱;
  • 啟動此事件的服務名稱 (如 samba, xinetd 等) 或函式名稱 (如 libpam ..);
  • 該信息的實際數據內容。

當然,這些資訊的『詳細度』是可以修改的,而且,這些資訊可以作為系統除錯之用呢!我們拿登錄時一定會記載帳號資訊的 /var/log/secure 為例好了:

[root@www ~]# cat /var/log/secure 1 Mar 14 15:38:00 www atd[18701]: pam_unix(atd:session): session opened for user root by (uid=0) 2 Mar 14 15:38:00 www atd[18701]: pam_unix(atd:session): session closed foruser root 3 Mar 16 16:01:51 www su: pam_unix(su-l:auth): authentication failure; logname=vbird uid=500 euid=0 tty=pts/1 ruser=vbird rhost= user=root 4 Mar 16 16:01:55 www su: pam_unix(su-l:session): session opened for user root by vbird(uid=500) 5 Mar 16 16:02:22 www su: pam_unix(su-l:session): session closed for user root |--日期/時間---|-H-|-----服務與相關函數-------|--信息說明------>

我們拿第一筆數據來說明好了,該數據是說:『在三月14日 (Mar 14) 的下午 15:38 分,由 www 這部主機的 atd [PID 為 18701] 傳來的消息,這個消息是透過 pam_unix 這個模塊所提出的。信息內容為 root (uid=0) 這個帳號已經開啟 atd 的活動了。』有夠清楚吧!那請您自行翻譯一下后面的 4 條信息內容是什么喔!

其實還有很多的資訊值得查閱的呢!尤其是 /var/log/messages 的內容。記得一個好的系統管理員,要常常去『巡視』登錄文件的內容喔!尤其是發生底下幾種情況時:

  • 當你覺得系統似乎不太正常時;
  • 某個 daemon 老是無法正常啟動時;
  • 某個使用者老是無法登陸時;
  • 某個 daemon 運行過程老是不順暢時;

還有很多啦!反正覺得系統不太正常,就得要查詢查詢登錄文件就是了。

Tips:
提供一個鳥哥常做的檢查方式。當我老是無法成功的啟動某個服務時,我會在最后一次啟動該服務后,立即檢查登錄文件,先 (1)找到現在時間所登錄的資訊『第一欄位』; (2)找到我想要查詢的那個服務『第三欄位』,(3)最后再仔細的查閱第四欄位的資訊,來藉以找到錯誤點。

syslog 的配置檔:/etc/syslog.conf

什么?登錄文件還有配置檔?喔!不是啦~是 syslogd 這個 daemon 的配置檔啦!我們現在知道 syslogd 可以負責主機產生的各個資訊的登錄,而這些資訊本身是有『嚴重等級』之分的,而且,這些數據最終要傳送到哪個文件去是可以修改的呢,所以我們才會在一開頭的地方講說,每個 Linux distributions 放置的登錄文件檔名可能會有所差異啊!

基本上, syslog 針對各種服務與信息記錄在某些文件的配置檔就是 /etc/syslog.conf,這個文件規定了『(1)什么服務 (2)的什么等級信息 (3)需要被記錄在哪里(裝置或文件)』這三個咚咚,所以配置的語法會是這樣:

服務名稱[.=!]信息等級 信息記錄的檔名或裝置或主機 # 底下以 mail 這個服務產生的 info 等級為例: mail.info /var/log/maillog_info # 這一行說明:mail 服務產生的大於等於 info 等級的信息,都記錄到 # /var/log/maillog_info 文件中的意思。

我們將上面的數據簡單的分為三部分來說明:


  • 服務名稱

syslog 本身有規范一些服務,你可以透過這些服務來儲存系統的信息。syslog 認識的服務主要有底下這些:(可使用 man 3 syslog 查詢到相關的資訊)

服務類別說明
auth (authpriv)主要與認證有關的機制,例如 login, ssh, su 等需要帳號/口令的咚咚;
cron就是例行性工作排程 cron/at 等產生信息記錄的地方;
daemon與各個 daemon 有關的信息;
kern就是核心 (kernel) 產生信息的地方;
lpr亦即是列印相關的信息啊!
mail只要與郵件收發有關的信息紀錄都屬於這個;
news與新聞群組服務器有關的東西;
syslog就是 syslogd 這支程序本身產生的資訊啊!
user, uucp, local0 ~ local7與 Unix like 機器本身有關的一些信息。

上面談到的都是 syslog 自行制訂的服務名稱,軟件開發商可以透過呼叫上述的服務名稱來記錄他們的軟件。舉例來說, sendmail 與 postfix 及 dovecot 都是與郵件有關的軟件,這些軟件在設計登錄文件記錄時,都會主動呼叫 syslogd 內的 mail 服務名稱 (LOG_MAIL),所以上述三個軟件 (sendmail, postfix, dovecot) 產生的信息在 syslog 看起來,就會『是 mail 』類型的服務了。我們可以將這個概念繪制如底下的圖示來理解:


圖 2.2.1、 syslog 所制訂的服務名稱與軟件呼叫的方式

另外,每種服務所產生的數據量其實差異是很大的,舉例來說, mail 的登錄文件信息多的要命,每一封信件進入后, mail 至少需要記錄『寄信人的資訊;與收信者的信息』等等;而如果是用來做為工作站主機的,那么登陸者 (利用 login 登錄主機處理事情)的數量一定不少,那個 authpriv 所管轄的內容可就多的要命了。

為了讓不同的資訊放置到不同的文件當中,好讓我們分門別類的進行登錄文件的管理,所以羅,將各種類別的服務之登錄文件,記錄在不同的文件里面,就是我們 /etc/syslog.conf 所要作的規范了!


  • 信息等級

同一個服務所產生的信息也是有差別的,有啟動時僅通知系統而已的一般信息 (information),有出現還不至於影響到正常運行的警告信息 (warn) ,還有系統硬件發生嚴重錯誤時,所產生的重大問題信息 (error 等等);信息到底有多少種嚴重的等級呢?基本上,syslog 將信息分為七個主要的等級,依序是這樣的(由不重要排列到重要信息等級):

等級等級名稱說明
1info僅是一些基本的信息說明而已;
2notice比 info 還需要被注意到的一些資訊內容;
3warning
(warn)
警示的信息,可能有問題,但是還不至於影響到某個 daemon 運行的資訊;基本上,info, notice, warn 這三個信息都是在告知一些基本資訊而已,應該還不至於造成一些系統運行困擾;
4err
(error)
一些重大的錯誤信息,例如配置檔的某些配置值造成該服務服法啟動的資訊說明,通常藉由 err 的錯誤告知,應該可以了解到該服務無法啟動的問題呢!
5crit比 error 還要嚴重的錯誤資訊,這個 crit 是臨界點 (critical) 的縮寫,這個錯誤已經很嚴重了喔!
6alert警告警告,已經很有問題的等級,比 crit 還要嚴重!
7emerg
(panic)
疼痛等級,意指系統已經幾乎要死機的狀態!很嚴重的錯誤資訊了。通常大概只有硬件出問題,導致整個核心無法順利運行,就會出現這樣的等級的信息吧!

除了這些有等級的信息外,還有兩個特殊的等級,那就是 debug(錯誤偵測等級) 與 none (不需登錄等級) 兩個,當我們想要作一些錯誤偵測,或者是忽略掉某些服務的資訊時,就用這兩個咚咚吧!

特別留意一下在信息等級之前還有 [.=!] 的連結符號喔!他代表的意思是這樣的:

  • . :代表『比后面還要高的等級 (含該等級)都被記錄下來』的意思,例如: mail.info 代表只要是 mail的資訊,而且該資訊等級高於 info (含 info 本身)時,就會被記錄下來的意思。
  • .=:代表所需要的等級就是后面接的等級而已,其他的不要!
  • .!:代表不等於,亦即是除了該等級外的其他等級都記錄。

一般來說,我們比較常使用的是『.』這個連結符號啦!^_^


  • 信息記錄的檔名或裝置或主機

再來則是這個信息要放置在哪里的紀錄了。通常我們使用的都是記錄的文件啦!但是也可以輸出到裝置呦!例如打印機之類的!也可以記錄到不同的主機上頭去呢!底下就是一些常見的放置處:

  • 文件的絕對路徑:通常就是放在 /var/log 里頭的文件啦!
  • 打印機或其他:例如 /dev/lp0 這個打印機裝置
  • 使用者名稱:顯示給使用者羅!
  • 遠程主機:例如 @www.vbird.tsai 當然啦,要對方主機也能支持才行!
  • *:代表『目前在線上的所有人』,類似 wall 這個命令的意義!


  • syslog.conf 語法練習

基本上,整個 syslog 的配置檔就只是這樣而已,底下我們來思考一些例題,好讓你可以更清楚的知道如何配置 syslogd 啊!

例題: 如果我要將我的 mail 相關的數據給他寫入 /var/log/maillog 當中,那么在 /etc/syslog.conf 的語法如何設計? 答: 基本的寫法是這樣的: mail.info   /var/log/maillog 注意到上面喔,當我們的等級使用 info 時,那么『任何大於 info 等級(含 info 這個等級)之上的信息,都會被寫入到后面接的文件之中!』這樣可以了解嗎?也就是說,我們可以將所有 mail 的登錄資訊都紀錄在/var/log/maillog 里面的意思啦!

例題: 我要將新聞群組數據 (news) 及例行性工作排程 (cron) 的信息都寫入到一個稱為/var/log/cronnews 的文件中,但是這兩個程序的警告信息則額外的記錄在 /var/log/cronnews.warn 中,那該如何配置我的 syslog.conf 呢? 答: 很簡單啦!既然是兩個程序,那么只好以分號來隔開了,此外,由於第二個指定文件中,我只要記錄警告信息,因此配置上需要指定『.=』這個符號,所以語法成為了: news.*;cron.*     /var/log/cronnews
news.=warn;cron.=warn /var/log/cronnews.warn 上面那個『.=』就是在指定等級的意思啦!由於指定了等級,因此,只有這個等級的信息才會被紀錄在這個文件里面呢!此外你也必須要注意,news 與 cron 的警告信息也會寫入 /var/log/cronnews 內喔!

例題: 我的 messages 這個文件需要記錄所有的資訊,但是就是不想要記錄 cron, mail 及 news 的資訊,那么應該怎么寫才好? 答: 可以有兩種寫法,分別是: *.*;news,cron,mail.none      /var/log/messages
*.*;news.none;cron.none;mail.none /var/log/messages 使用『,』分隔時,那么等級只要接在最后一個即可,如果是以『;』來分的話,那么就需要將服務與等級都寫上去羅!這樣會配置了吧!


  • CentOS 5.x 默認的 syslog.conf 內容

了解語法之后,我們來看一看 syslog 有哪些系統服務已經在記錄了呢?就是瞧一瞧 /etc/syslog.conf 這個文件的默認內容羅!(注意!如果需要將該行做為注解時,那么就加上 # 符號就可以啦)

# 來自 CentOS 5.x 的相關數據 [root@www ~]# vim /etc/syslog.conf 1 #kern.* /dev/console 2 *.info;mail.none;news.none;authpriv.none;cron.none /var/log/messages 3 authpriv.* /var/log/secure 4 mail.* -/var/log/maillog 5 cron.* /var/log/cron 6 *.emerg * 7 uucp,news.crit /var/log/spooler 8 local7.* /var/log/boot.log 9 news.=crit /var/log/news/news.crit 10 news.=err /var/log/news/news.err 11 news.notice /var/log/news/news.notice

上面總共僅有十一行配置值,每一行的意義是這樣的:

  • #kern.*:只要是核心產生的信息,全部都送到 console(終端機) 去。console 通常是由外部裝置連接到系統而來,舉例來說,很多封閉型主機 (沒有鍵盤、螢幕的系統) 可以透過連接 RS232 連接口將信息傳輸到外部的系統中,例如以筆記本計算機連接到封閉主機的 RS232 插口。這個項目通常應該是用在系統出現嚴重問題而無法使用默認的螢幕觀察系統時,可以透過這個項目來連接取得核心的信息。(注1)

  • *.info;mail.none;news.none;authpriv.none;cron.none:由於 mail, news, authpriv, cron 等類別產生的信息較多,且已經寫入底下的數個文件中,因此在 /var/log/messages 里面就不記錄這些項目。除此之外的其他信息都寫入 /var/log/messages 中。這也是為啥我們說這個 messages 文件很重要的緣故!

  • authpriv.*:認證方面的信息均寫入 /var/log/secure 文件;

  • mail.*:郵件方面的信息則均寫入 /var/log/maillog 文件;

  • cron.*:例行性工作排程均寫入 /var/log/cron 文件;

  • *.emerg:當產生最嚴重的錯誤等級時,將該等級的信息以 wall 的方式廣播給所有在系統登陸的帳號得知,要這么做的原因是希望在線的使用者能夠趕緊通知系統管理員來處理這么可怕的錯誤問題。

  • uucp,news.crit:uucp 是早期 Unix-like 系統進行數據傳遞的通訊協議,后來常用在新聞群組的用途中。 news則是新聞群組。當新聞群組方面的資訊有嚴重錯誤時就寫入 /var/log/spooler 文件中;

  • local7.*:將本機啟動時應該顯示到螢幕的信息寫入到 /var/log/boot.log 文件中;

  • 后面的 news.=crit、news.=err、news.notice 則主要在分別記錄新聞群組產生的不同等級的信息。
  • 在上面的第四行關於 mail 的記錄中,在記錄的文件 /var/log/maillog 前面還有個減號『 - 』是干嘛用的?由於郵件所產生的信息比較多,因此我們希望郵件產生的信息先儲存在速度較快的內存中 (buffer) ,等到數據量夠大了才一次性的將所有數據都填入磁碟內,這樣將有助於登錄文件的存取性能。只不過由於信息是緩存在內存內,因此若不正常關機導致登錄資訊未回填到登錄文件中,可能會造成部分數據的遺失。

    此外,每個 Linux distributions 的 syslog.conf 配置差異是頗大的,如果你想要找到相對應的登錄資訊時,可得要查閱一下 /etc/syslog.conf 這個文件才行!否則可能會發生分析到錯誤的資訊喔!舉例來說,鳥哥有自己寫一支分析登錄文件的 script,這個 script 是依據 Red Hat 系統默認的登錄文件所寫的,因此不同的 distributions 想要使用這支程序時,就得要自行設計與修改一下 /etc/syslog.conf 才行喔!否則就可能會分析到錯誤的資訊羅。那么如果你有自己的需要而得要修訂登錄文件時,該如何進行?


    • 自行添加登錄文件文件功能

    如果你有其他的需求,所以需要特殊的文件來幫你記錄時,呵呵!別客氣,千萬給他記錄在/etc/syslog.conf 當中,如此一來,你就可以重復的將許多的資訊記錄在不同的文件當中,以方便你的管理呢!讓我們來作個練習題吧!如果你想要讓『所有的資訊』都額外寫入到 /var/log/admin.log 這個文件時,你可以怎么作呢?先自己想一想,并且作一下,再來看看底下的作法啦!

    # 1. 先配置好所要創建的文件配置! [root@www ~]# vim /etc/syslog.conf # Add by VBird 2009/04/08 <==再次強調,自己修改的時候加入一些說明 *.info /var/log/admin.log <==有用的是這行啦!# 2. 重新啟動 syslog 呢! [root@www ~]# /etc/init.d/syslog restart [root@www ~]# ll /var/log/admin.log -rw------- 1 root root 118 Apr 8 13:50 /var/log/admin.log # 瞧吧!創建了這個登錄文件出現羅!

    很簡單吧!如此一來,所有的資訊都會寫入 /var/log/admin.log 里面了!


    登錄文件的安全性配置

    好了,由上一個小節里面我們知道了 syslog.conf 的配置,也知道了登錄文件內容的重要性了,所以,如果幻想你是一個很厲害的黑客,想利用他人的計算機干壞事,然后又不想留下證據,你會怎么作?對啦!就是離開的時候將屁股擦干凈,將所有可能的信息都給他抹煞掉,所以第一個動腦筋的地方就是登錄文件的清除工作啦~如果你的登錄文件不見了,那該怎辦?

    Tips:
    哇!鳥哥教人家干壞事……喂!不要亂講話~俺的意思是,如果改天你發現你的登錄文件不翼而飛了,或者是發現你的登錄文件似乎不太對勁的時候,最常發現的就是網友常常會回報說,他的/var/log 這個目錄『不見了!』不要笑!這是真的事情!請記得,『趕快清查你的系統!』

    傷腦筋呢!有沒有辦法防止登錄文件被刪除?或者是被 root 自己不小心變更呢?有呀!拔掉網絡線或電源線就好了……呵呵!別擔心,基本上,我們可以透過一個隱藏的屬性來配置你的登錄文件,成為『只可以添加數據,但是不能被刪除』的狀態,那么或許可以達到些許的保護!不過,如果你的root 帳號被破解了,那么底下的配置還是無法保護的,因為你要記得『 root是可以在系統上面進行任何事情的 』,因此,請將你的 root 這個帳號的口令配置的安全一些!千萬不要輕忽這個問題呢!

    Tips:
    為什么登錄文件還要防止被自己 (root) 不小心所修改過呢?鳥哥在教 Linux 的課程時,我的學生常常會舉手說:『老師,我的登錄文件不能記錄資訊了!糟糕!是不是被入侵了啊?』怪怪!明明是計算機教室的主機,使用的是 Private IP 而且學校計中還有抵擋機制,不可能被攻擊吧?查詢了才知道原來同學很喜歡使用『 :wq 』來離開 vim 的環境,但是 syslog 的登錄文件只要『被編輯過』就無法繼續記錄!所以才會導致不能記錄的問題。此時你得要 (1)改變使用 vim 的習慣; (2)重新啟動 syslog 讓他再繼續提供服務才行喔!

    既然如此,那么我們就來處理一下隱藏屬性的東東吧!我們在第七章談到過 lsattr與 chattr這兩個東西啦!如果將一個文件以 chattr 配置 i 這個屬性時,那么該文件連 root都不能殺掉!而且也不能新增數據,嗯!真安全!但是,如此一來登錄文件的功能豈不是也就消失了?因為沒有辦法寫入呀!所以羅,我們要使用的是a 這個屬性!你的登錄文件如果配置了這個屬性的話,那么他將只能被添加,而不能被刪除!嗯!這個項目就非常的符合我們登錄文件的需求啦!因此,你可以這樣的添加你的登錄文件的隱藏屬性。

    Tips:
    請注意,底下的這個 chattr 的配置狀態:『僅適合已經對 Linux 系統很有概念的朋友』來配置,對於新手來說,建議你直接使用系統的默認值就好了,免得到最后登錄文件無法寫入~那就比較糗一點! @_@
    [root@www ~]# chattr +a /var/log/messages [root@www ~]# lsattr /var/log/messages -----a------- /var/log/messages

    加入了這個屬性之后,你的 /var/log/messages 登錄文件從此就僅能被添加,而不能被刪除,直到root 以『 chattr -a /var/log/messages 』取消這個 a 的參數之后,才能被刪除或移動喔!

    雖然,為了你登錄文件的資訊安全,這個 chattr 的 +a 旗標可以幫助你維護好這個文件,不過,如果你的系統已經被取得 root 的權限,而既然 root 可以下達 chattr -a 來取消這個旗標,所以羅,還是有風險的啦!此外,前面也稍微提到,新手最好還是先不要添加這個旗標,很容易由於自己的忘記,導致系統的重要信息無法記錄呢。

    基本上,鳥哥認為,這個旗標最大的用處除了在保護你登錄文件的數據外,他還可以幫助你避免掉不小心寫入登錄文件的狀況喔。要注意的是,當『你不小心 "手動" 更動過登錄文件后,例如那個 /var/log/messages ,你不小心用 vi 開啟他,離開卻下達 :wq 的參數,呵呵!那么該文件未來將不會再繼續進行登錄動作! 』這個問題真的很常發生!由於你以 vi 儲存了登錄文件,則 syslogd 會誤判為該文件已被更動過,將導致 syslogd 不再寫入該文件新的內容~很傷腦筋的!

    要讓該登錄文件可以繼續寫入,你只要重新啟動 syslog (/etc/init.d/syslog restart) 即可。不過,總是比較麻煩。所以啊,如果你針對登錄文件下達 chattr +a 的參數,嘿嘿!未來你就不需要害怕不小心更動到該文件了!因為無法寫入嘛!除了可以新增之外~ ^_^

    不過,也因為這個 +a 的屬性讓該文件無法被刪除與修改,所以羅,當我們進行登錄文件輪替時 (logrotate),將會無法移動該登錄文件的檔名呢!所以會造成很大的困擾。這個困擾雖然可以使用 logrotate 的配置檔來解決,但是,還是先將登錄文件的 +a 旗標拿掉吧!

    [root@www ~]# chattr -a /var/log/messages

    登錄文件服務器的配置

    我們在之前稍微提到的,在 syslog.conf 文件當中,可以將登錄數據傳送到打印機或者是遠程主機上面去。這樣做有什么意義呢?如果你將登錄資訊直接傳送到打印機上面的話,那么萬一不小心你的系統被 cracker 所入侵,他也將你的 /var/log/ 砍掉了,怎么辦?沒關系啊!反正你已經將重要數據直接以打印機記錄起來了,嘿嘿!他是無法逃開的啦!^_^

    再想像一個環境,你的辦公室內有十部 Linux 主機,每一部負責一個網絡服務,你為了要了解每部主機的狀態,因此,你常常需要登陸這十部主機去查閱你的登錄文件~哇!光用想的,每天要進入十部主機去查數據,想到就煩~沒關系~這個時候我們可以讓某一部主機當成『登錄文件服務器』,用他來記錄所有的十部 linux 主機的資訊,嘿嘿!這樣我就直接進入一部主機就可以了!省時又省事,真方便~

    那要怎么達到這樣的功能呢?很簡單啦,我們 CentOS 5.x 默認的 syslog 本身就已經具有這個登錄文件服務器的功能了,只是默認并沒有啟動該功能而已。你可以透過 man syslogd 去查詢一下相關的選項就能夠知道啦!既然是登錄文件服務器,那么我們的 Linux 主機當然會啟動一個端口來監聽了,那個默認的端口就是 UDP 的 514 喔!


    圖 2.4.1、登錄文件服務器的架構

    如上圖所示,服務器會啟動監聽的端口,用戶端則將登錄文件再轉出一份送到服務器去。而既然是登錄文件『服務器』,所以當然有服務器與用戶端 (client) 羅!這兩者的配置分別是這樣的:

    # 1. Server 端:修改 syslogd 的啟動配置檔,通常在 /etc/sysconfig 內! [root@www ~]# vim /etc/sysconfig/syslog # 找到底下這一行: SYSLOGD_OPTIONS="-m 0" # 改成底下這樣子! SYSLOGD_OPTIONS="-m 0 -r"# 2. 重新啟動與觀察 syslogd 喔! [root@www ~]# /etc/init.d/syslog restart [root@www ~]# netstat -lunp | grep syslog Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name udp 0 0 0.0.0.0:514 0.0.0.0:* 13981/syslogd # 嘿嘿!你的登錄文件主機已經配置妥當羅!很簡單吧!

    透過這個簡單的動作,你的 Linux 主機已經可以接收來自其他主機的登錄資訊了!當然啦,你必須要知道網絡方面的相關基礎,這里鳥哥只是先介紹,未來了解了網絡相關資訊后,再回頭來這里瞧一瞧先! ^_^

    至於 client 端的配置就簡單多了!只要指定某個資訊傳送到這部主機即可!舉例來說,我們的登錄文件服務器 IP 為 192.168.1.100 ,而 client 端希望所有的數據都送給主機,所以,可以在 /etc/syslog.conf 里面新增這樣的一行:

    [root@www ~]# vim /etc/syslog.conf *.* @192.168.1.100

    再重新啟動 syslog 后,立刻就搞定了!而未來主機上面的登錄文件當中,每一行的『主機名稱』就會顯示來自不同主機的資訊了。很簡單吧! ^_^。接下來,讓我們來談一談,那么如何針對登錄文件來進行輪轉 (rotate) 呢?


    登錄文件的輪替(logrotate)

    假設我們已經將登錄數據寫入了記錄檔中了,也已經利用 chattr 配置了 +a 這個屬性了,那么該如何進行logrotate 的工作呢?這里請特別留意的是:『syslog 利用的是 daemon 的方式來啟動的,當有需求的時候立刻就會被運行的,但是 logrotate 卻是在規定的時間到了之后才來進行登錄文件的輪替,所以這個 logrotate 程序當然就是掛在 cron 底下進行的呦!』仔細看一下 /etc/cron.daily/ 里面的文件,嘿嘿~看到了吧! /etc/cron.daily/logrotate 就是記錄了每天要進行的登錄文件輪替的行為啦! ^_^!底下我們就來談一談怎么樣設計這個 logrotate 吧!


    logrotate 的配置檔

    既然 logrotate 主要是針對登錄文件來進行輪替的動作,所以羅,他當然必須要記載『在什么狀態下才將登錄文件進行輪替』的配置啊!那么 logrotate 這個程序的參數配置檔在哪里呢?呵呵!那就是:

    • /etc/logrotate.conf
    • /etc/logrotate.d/

    那個 logrotate.conf 才是主要的參數文件,至於 logrotate.d 是一個目錄,該目錄里面的所有文件都會被主動的讀入 /etc/logrotate.conf 當中來進行!另外,在/etc/logrotate.d/ 里面的文件中,如果沒有規定到的一些細部配置,則以 /etc/logrotate.conf這個文件的規定來指定為默認值!

    好了,剛剛我們提到 logrotate 的主要功能就是將舊的登錄文件移動成舊檔,并且重新創建一個新的空的文件來記錄,他的運行結果有點類似底下的圖示:


    圖 3.1.1、 登錄文件進行 logrotate 的結果

    由上面的圖示我們可以清楚的知道,當第一次運行完 rotate 之后,原本的 messages 會變成 messages.1而且會制造一個空的 messages 給系統來儲存登錄文件。而第二次運行之后,則 messages.1 會變成messages.2 而 messages 會變成 messages.1 ,又造成一個空的 messages 來儲存登錄文件!那么如果我們僅配置保留三個登錄文件而已的話,那么運行第四次時,則messages.3 這個文件就會被刪除,并由后面的較新的保存登錄文件所取代!基本的工作就是這樣啦!

    那么多久進行一次這樣的 logrotate 工作呢?這些都記錄在 logrotate.conf 里面,我們來看一下默認的 logrotate 的內容吧!

    [root@www ~]# vim /etc/logrotate.conf # 底下的配置是 "logrotate 的默認配置值" ,如果個別的文件配置了其他的參數, # 則將以個別的文件配置為主,若該文件沒有配置到的參數則以這個文件的內容為默認值!weekly <==默認每個禮拜對登錄文件進行一次 rotate 的工作 rotate 4 <==保留幾個登錄文件呢?默認是保留四個! create <==由於登錄文件被更名,因此創建一個新的來繼續儲存之意! #compress <==被更動的登錄文件是否需要壓縮?如果登錄文件太大則可考慮此參數啟動include /etc/logrotate.d # 將 /etc/logrotate.d/ 這個目錄中的所有文件都讀進來運行 rotate 的工作!/var/log/wtmp { <==僅針對 /var/log/wtmp 所配置的參數monthly <==每個月一次,取代每周!minsize 1M <==文件容量一定要超過 1M 后才進行 rotate (略過時間參數)create 0664 root utmp <==指定新建文件的權限與所屬帳號/群組rotate 1 <==僅保留一個,亦即僅有 wtmp.1 保留而已。 } # 這個 wtmp 可記錄登陸者與系統重新啟動時的時間與來源主機及登陸期間的時間。 # 由於具有 minsize 的參數,因此不見得每個月一定會進行一次喔!要看文件容量。 # 由於僅保留一個登錄文件而已,不滿意的話可以將他改成 rotate 5 吧!

    由這個文件的配置我們可以知道 /etc/logrotate.d 其實就是由 /etc/logrotate.conf所規劃出來的目錄,所以,其實我們可以將所有的數據都給他寫入 /etc/logrotate.conf即可,但是這樣一來這個文件就實在是太復雜了,尤其是當我們使用很多的服務在系統上面時,每個服務都要去修改 /etc/logrotate.conf 的配置也似乎不太合理~所以,如果獨立出來一個目錄,那么每個以 RPM 打包方式所創建的服務的登錄文件輪替配置,就可以獨自成為一個文件,并且放置到 /etc/logrotate.d/ 當中即可,真是方便又合理的做法啊! ^_^

    一般來說,這個 /etc/logrotate.conf 是『默認的輪替狀態』而已,我們的各個服務都可以擁有自己的登錄文件輪替配置,你也可以自行修改成自己喜歡的樣式啊!例如,如果你的系統的空間夠大,并且擔心除錯以及黑客的問題,那么可以:

    • 將 rotate 4 改成 rotate 9 左右,以保存較多的備份文件;
    • 大部分的登錄文件不需要 compress 羅!但是空間太小就需要 compress !尤其是很占磁盤空間的 httpd 更需要 compress 的!

    好了,上面我們大致介紹了 /var/log/wtmp 這個文件的配置,現在你知道了 logrotate.conf 的配置語法是:

    登錄文件的絕對路徑檔名 ... {個別的參數配置值,如 monthly, compress 等等 }

    底下我們再以 /etc/logrotate.d/syslog 這個輪替 syslog 服務的文件,來看看該如何配置他的 rotate 呢?

    [root@www ~]# vi /etc/logrotate.d/syslog /var/log/messages /var/log/secure /var/log/maillog /var/log/spooler \ /var/log/boot.log /var/log/cron {sharedscriptspostrotate/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true/bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || trueendscript }

    在上面的語法當中,我們知道正確的 logrotate 的寫法為:

    • 檔名:被處理的登錄文件絕對路徑檔名寫在前面,可以使用空白字節分隔多個登錄文件;
    • 參數:上述檔名進行輪替的參數使用 { } 包括起來;
    • 運行腳本:可呼叫外部命令來進行額外的命令下達,這個配置需與 sharedscripts .... endscript 配置合用才行。至於可用的環境為:
      • prerotate:在啟動 logrotate 之前進行的命令,例如修改登錄文件的屬性等動作;
      • postrotate:在做完 logrotate 之后啟動的命令,例如重新啟動(kill -HUP) 某個服務!
      • Prerotate 與 postrotate 對於已加上特殊屬性的文件處理上面,是相當重要的運行程序!

    那么 /etc/logrotate.d/syslog 內配置的六個文件的輪替功能就變成了:

    • 該配置只對 /var/log/ 內的 messages, secure, maillog, spooler, boot.log, cron 有效;
    • 登錄文件輪替每周一次、保留四個、且輪替下來的登錄文件不進行壓縮(未更改默認值);
    • 輪替完畢后 (postrotate) 取得 syslog 的 PID 后,以 kill -HUP 重新啟動 syslogd

    假設我們有針對 /var/log/messages 這個文件添加 chattr +a 的屬性時,依據 logrotate 的工作原理,我們知道,這個 /var/log/messages 將會被更名成為 /var/log/messages.1 才是。但是由於加上這個 +a 的參數啊,所以更名是不可能成功的!那怎么辦呢?呵呵!就利用 prerotate 與 postrotate 來進行登錄文件輪替前、后所需要作的動作啊!果真如此時,那么你可以這樣修改一下這個文件喔!

    [root@www ~]# vi /etc/logrotate.d/syslog /var/log/messages /var/log/secure /var/log/maillog /var/log/spooler \ /var/log/boot.log /var/log/cron {sharedscriptsprerotate/usr/bin/chattr -a /var/log/messagesendscriptsharedscriptspostrotate/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true/bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true/usr/bin/chattr +a /var/log/messagesendscript }

    看到否?就是先給他去掉 a 這個屬性,讓登錄文件 /var/log/messages 可以進行輪替的動作,然后運行了輪替之后,再給他加入這個屬性!請特別留意的是,那個/bin/kill -HUP ... 的意義,這一行的目的在於將系統的 syslogd重新以其參數檔 (syslog.conf) 的數據讀入一次!也可以想成是 reload 的意思啦!由於我們創建了一個新的空的紀錄檔,如果不運行此一行來重新啟動服務的話,那么記錄的時候將會發生錯誤呦!(請回到第十七章讀一下kill 后面的 signal 的內容說明)


    實際測試 logrotate 的動作

    好了,配置完成之后,我們來測試看看這樣的配置是否可行呢?給他運行底下的命令:

    [root@www ~]# logrotate [-vf] logfile 選項與參數: -v :啟動顯示模式,會顯示 logrotate 運行的過程喔! -f :不論是否符合配置檔的數據,強制每個登錄文件都進行 rotate 的動作!范例一:運行一次 logrotate 看看整個流程為何? [root@www ~]# logrotate -v /etc/logrotate.conf reading config file /etc/logrotate.conf <==讀取主要配置檔 including /etc/logrotate.d <==呼叫外部的配置 reading config file acpid <==就是外部配置啊! ....(中間省略).... Handling 21 logs <==共有 21 個登錄文件被記錄 ....(中間省略).... rotating pattern: /var/log/messages /var/log/secure /var/log/maillog \ /var/log/spooler /var/log/boot.log /var/log/cron weekly (4 rotations) empty log files are rotated, old logs are removed considering log /var/log/messages <==開始處理 messageslog does not need rotating <==因為時間未到,不需要更動! ....(底下省略)....范例二:強制進行 logrotate 的動作 [root@www ~]# logrotate -vf /etc/logrotate.conf ....(前面省略).... rotating log /var/log/messages, log->rotateCount is 4 renaming /var/log/messages.4 to /var/log/messages.5 (rotatecount 4, logstart 1, i 4), renaming /var/log/messages.3 to /var/log/messages.4 (rotatecount 4, logstart 1, i 3), renaming /var/log/messages.2 to /var/log/messages.3 (rotatecount 4, logstart 1, i 2), renaming /var/log/messages.1 to /var/log/messages.2 (rotatecount 4, logstart 1, i 1), renaming /var/log/messages.0 to /var/log/messages.1 (rotatecount 4, logstart 1, i 0), old log /var/log/messages.0 does not exist ....(底下省略).... # 看到否?整個 rotate 的動作就是這樣一步一步進行的~[root@www ~]# ll /var/log/messages*; lsattr /var/log/messages -rw------- 1 root root 63 Apr 8 15:19 /var/log/messages -rw------- 1 root root 670 Apr 8 14:22 /var/log/messages.1 -rw------- 1 root root 24984 Apr 1 19:26 /var/log/messages.2 -rw------- 1 root root 1911 Mar 28 11:32 /var/log/messages.3 -rw------- 1 root root 25193 Mar 22 04:02 /var/log/messages.4 -----a------- /var/log/messages <==主動加入 a 的隱藏屬性羅!

    上面那個 -f 具有『強制運行』的意思,如果一切的配置都沒有問題的話,那么理論上,你的/var/log 這個目錄就會起變化羅!而且應該不會出現錯誤信息才對!嘿嘿!這樣就OK 了!很棒不是嗎?!

    由於 logrotate 的工作已經加入 crontab 里頭了!所以現在每天系統都會自動的給他查看logrotate 羅!不用擔心的啦!只是要注意一下那個 /var/log/messages 里頭是否常常有類似底下的字眼:

    Apr 8 15:19:47 www syslogd 1.4.1: restart (remote reception).

    這說明的是 syslogd 重新啟動的時間啦 (就是因為 /etc/logrotate.d/syslog 的配置之緣故!)底下我們來進行一些例題的練習,讓你更詳細的了解 logrotate 的功用啊!


    自訂登錄文件的輪替功能

    假設前提是這樣的,前一小節當中,假設你已經創建了 /var/log/admin.log 這個文件,現在,你想要將該文件加上 +a 這個隱藏標簽,而且配置底下的相關資訊:

    • 登錄文件輪替一個月進行一次;
    • 該登錄文件若大於 10MB 時,則主動進行輪替,不需要考慮一個月的期限;
    • 保存五個備份文件;
    • 備份文件需要壓縮

    那你可以怎么樣配置呢?呵呵~很簡單啊!看看底下的動作吧!

    # 1. 先創建 +a 這個屬性啊! [root@www ~]# chattr +a /var/log/admin.log [root@www ~]# lsattr /var/log/admin.log -----a------- /var/log/admin.log [root@www ~]# mv /var/log/admin.log /var/log/admin.log.1 mv: cannot move `/var/log/admin.log' to `/var/log/admin.log.1': Operation not permitted # 這里確定了加入 a 的隱藏屬性!所以 root 無法移動此登錄文件!# 2. 開始創建 logrotate 的配置檔,添加一個文件在 /etc/logrotate.d 內就對了! [root@www ~]# vi /etc/logrotate.d/admin # This configuration is from VBird 2009/04/08 /var/log/admin.log {monthly <==每個月進行一次size=10M <==文件容量大於 10M 則開始處置rotate 5 <==保留五個!compress <==進行壓縮工作!sharedscriptsprerotate/usr/bin/chattr -a /var/log/admin.logendscriptsharedscriptspostrotate/usr/bin/killall -HUP syslogd/usr/bin/chattr +a /var/log/admin.logendscript }# 3. 測試一下 logrotate 相關功能的資訊顯示: [root@www ~]# logrotate -v /etc/logrotate.conf ....(前面省略).... rotating pattern: /var/log/admin.log 10485760 bytes (5 rotations) empty log files are rotated, old logs are removed considering log /var/log/admin.loglog does not need rotating not running prerotate script, since no logs will be rotated not running postrotate script, since no logs were rotated ....(底下省略).... # 因為還不足一個月,文件也沒有大於 10M,所以不需進行輪替!# 4. 測試一下強制 logrotate 與相關功能的資訊顯示: [root@www ~]# logrotate -vf /etc/logrotate.d/admin reading config file /etc/logrotate.d/admin reading config info for /var/log/admin.logHandling 1 logsrotating pattern: /var/log/admin.log forced from command line (5 rotations) empty log files are rotated, old logs are removed considering log /var/log/admin.loglog needs rotating rotating log /var/log/admin.log, log->rotateCount is 5 renaming /var/log/admin.log.5.gz to /var/log/admin.log.6.gz (rotatecount 5, logstart 1, i 5), old log /var/log/admin.log.5.gz does not exist renaming /var/log/admin.log.4.gz to /var/log/admin.log.5.gz (rotatecount 5, logstart 1, i 4), old log /var/log/admin.log.4.gz does not exist renaming /var/log/admin.log.3.gz to /var/log/admin.log.4.gz (rotatecount 5, logstart 1, i 3), old log /var/log/admin.log.3.gz does not exist renaming /var/log/admin.log.2.gz to /var/log/admin.log.3.gz (rotatecount 5, logstart 1, i 2), old log /var/log/admin.log.2.gz does not exist renaming /var/log/admin.log.1.gz to /var/log/admin.log.2.gz (rotatecount 5, logstart 1, i 1), old log /var/log/admin.log.1.gz does not exist renaming /var/log/admin.log.0.gz to /var/log/admin.log.1.gz (rotatecount 5, logstart 1, i 0), old log /var/log/admin.log.0.gz does not exist log /var/log/admin.log.6.gz doesn't exist -- won't try to dispose of it running prerotate script renaming /var/log/admin.log to /var/log/admin.log.1 running postrotate script compressing log with: /bin/gzip[root@www ~]# lsattr /var/log/admin.log* -----a------- /var/log/admin.log ------------- /var/log/admin.log.1.gz <==有壓縮過喔!

    看到了嗎?透過這個方式,我們可以創建起屬於自己的 logrotate 配置文件,很簡便吧!尤其是要注意的, /etc/syslog.conf 與 /etc/logrotate.d/* 文件常常要搭配起來,例如剛剛我們提到的兩個案例中所創建的 /var/log/admin.log就是一個很好的例子~創建后,還要使用 logrotate 來輪替啊! ^_^


    分析登錄文件

    登錄文件的分析是很重要的!你可以自行以 vi 進入登錄文件去查閱相關的資訊。而系統也提供一些軟件可以讓你從登錄文件中取得數據,例如之前談過的 last, lastlog, dmesg 等等命令。不過,這些數據畢竟都非常的分散,如果你想要一口氣讀取所有的登錄資訊,其實有點困擾的。不過,好在 CentOS 有提供 logwatch 這個登錄文件分析程序,你可以藉由該程序來了解登錄文件資訊。此外,鳥哥也依據 Red Hat 系統的 syslog 寫了一支小程序給大家使用喔!


    CentOS 默認提供的 logwatch

    雖然有一些有用的系統命令,不過,要了解系統的狀態,還是得要分析整個登錄文件才行~事實上,目前已經有相當多的登錄文件分析工具,例如 CentOS 5.x 上面默認的 logwatch 這個套件所提供的分析工具,他會每天分析一次登錄文件,并且將數據以 email 的格式寄送給 root 呢!你也可以直接到 logwatch 的官方網站上面看看:

    • http://www.logwatch.org/

    logwatch 分析的結果如下所示:

    [root@www ~]# mail Mail version 8.1 6/6/93. Type ? for help. "/var/spool/mail/root": 433 messages 433 new >N 1 logwatch@www.vbird.t Fri Sep 5 11:42 43/1542 "Logwatch for www.vbird.tsai (Linux)"N 2 logwatch@www.vbird.t Sat Sep 6 15:34 92/2709 "Logwatch for www.vbird.tsai (Linux)"N 3 logwatch@www.vbird.t Mon Sep 8 15:26 43/1542 "Logwatch for www.vbird.tsai (Linux)" ....(中間省略)....N431 logwatch@www.vbird.t Wed Apr 8 04:02 53/1772 "Logwatch for www.vbird.tsai (Linux)" & 431 Message 431: From root@www.vbird.tsai Wed Apr 8 04:02:05 2009 Date: Wed, 8 Apr 2009 04:02:05 +0800 To: root@www.vbird.tsai From: logwatch@www.vbird.tsai Subject: Logwatch for www.vbird.tsai (Linux) MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="iso-8859-1"# 先會說明分析的日期與相關的分析期間!################### Logwatch 7.3 (03/24/06) ####################Processing Initiated: Wed Apr 8 04:02:05 2009Date Range Processed: yesterday( 2009-Apr-07 )Period is day.Detail Level of Output: 0Type of Output: unformattedLogfiles for Host: www.vbird.tsai################################################################### 底下則是依據各種服務來進行各項分析!先是登陸者的 ssh 服務分析--------------------- SSHD Begin ------------------------Users logging in through sshd:root:192.168.100.101: 1 time192.168.100.254: 1 time---------------------- SSHD End -------------------------# 磁碟容量分析!可以避免你的系統使用過量磁碟,導致的系統不穩問題!--------------------- Disk Space Begin ------------------------Filesystem Size Used Avail Use% Mounted on/dev/hda2 9.5G 3.8G 5.3G 42% //dev/hda3 4.8G 1.1G 3.5G 23% /home/dev/hda1 99M 21M 73M 23% /boot---------------------- Disk Space End -------------------------###################### Logwatch End #########################

    由於鳥哥的測試用主機尚未啟動許多服務,所以分析的項目很少。若你的系統已經啟動許多服務的話,那么分析的項目理應會多很多才對。


    鳥哥自己寫的登錄文件分析工具:

    雖然已經有了類似 logwatch 的工具,但是鳥哥自己想要分析的數據畢竟與對方不同~所以羅,鳥哥就自己寫了一支小程序 (shell script 的語法) 用來分析自己的登錄文件,這支程序分析的登錄文件數據其實是固定的,包括有:

    • /var/log/secure
    • /var/log/messages
    • /var/log/maillog

    當然啦,還不只這些啦,包括各個主要常見的服務,如 pop3, mail, ftp, su 等會使用到 pam 的服務,都可以透過鳥哥寫的這個小程序來分析與處理呢~整個數據還會輸出一些系統資訊。如果你想要使用這個程序的話,歡迎下載:

    • http://vbird.dic.ksu.edu.tw/download/index.php?action=detail&fileid=69

    安裝的方法也很簡單,只要將上述文件下載并解壓縮后,就會得到一個名為 logfile 的目錄,將此目錄移動到 /usr/local/virus/ 目錄下并修改一下: /usr/local/virus/logfile.sh 文件,里面的 email 與相關的資訊只要修改一下,你就可以使用啦~啊!還要記得,將這支程序的運行寫入 /etc/crontab 當中喔!可以在每天的 12:10am 運行這支小程序啦! ^_^

    [root@www ~]# mkdir /usr/local/virus [root@www ~]# tar -zxvf logfile-0.1-4-2.tgz -C /usr/local/virus [root@www ~]# cd /usr/local/virus/logfile [root@www ~]# vi logfile.sh email="root@localhost" <==大約在 93 行左右,請填入你的 email ,否則保留默認值 basedir="/usr/local/virus/logfile" <==保留默認值,除非你的運行目錄不同與此![root@www ~]# sh logfile.sh # 開始嘗試分析系統的登錄文件,依據你的登錄文件大小,分析的時間不固定![root@www ~]# vi /etc/crontab 10 0 * * * root /usr/local/virus/logfile/logfile.sh # 添加這一行!讓系統在每天的凌晨自己進行登錄文件分析![root@www ~]# mail # 自己找到剛剛輸出的結果,該結果的輸出有點像底下這樣:# 先進行程序的宣告!你也可以在底下的連結找到一些錯誤回報! ########################################################## 歡迎使用本程序來查驗您的登錄文件 本程序目前版本為: Version 0.1-4-2 程序最后升級日期為: 2006-09-22 若在您的系統中發現本程序有問題, 歡迎與我聯絡! 鳥哥的首頁 http://linux.vbird.org 問題回報: http://phorum.vbird.org/viewtopic.php?t=3425 ########################################################### 先看看你的硬件與操作系統的相關情況,尤其是 partition 的使用量更需要隨時注意! =============== 系統匯整 ================================= 核心版本 : Linux version 2.6.18-92.el5 (mockbuild@builder16.centos.org) CPU 資訊 : Intel(R) Celeron(TM) CPU: 1200.062 MHz 主機名稱 : www.vbird.tsai 統計日期 : 2009/April/08 17:00:59 ( Wednesday ) 分析的日期: Apr 8 已啟動期間: 7 days, 22:46, 目前主機掛載的 partitionsFilesystem Size Used Avail Use% Mounted on/dev/hda2 9.5G 3.8G 5.3G 42% //dev/hda3 4.8G 1.1G 3.5G 23% /home/dev/hda1 99M 21M 73M 23% /boottmpfs 363M 0 363M 0% /dev/shm# 這個程序會將針對 internet 與內部監聽的端口分開來顯示! ================= Ports 的相關分析資訊 ======================= 主機激活的 port 與相關的 process owner: 僅對本機介面開放的 ports (PID|owner|command)tcp 25|(root)|sendmail: accepting connectionstcp 631|(root)|cupsdtcp 2207|(root)|python ./hpssd.pytcp 2208|(root)|./hpiod 對外部介面開放的 ports (PID|owner|command)tcp 22|(root)|/usr/sbin/sshdtcp 111|(rpc)|portmaptcp 737|(root)|rpc.statdudp 111|(rpc)|portmapudp 514|(root)|syslogd -m 0 -rudp 631|(root)|cupsdudp 731|(root)|rpc.statdudp 734|(root)|rpc.statdudp 5353|(avahi)|avahi-daemon: running [www.local]udp 32768|(avahi)|avahi-daemon: running [www.local]udp 32769|(avahi)|avahi-daemon: running [www.local]# 以下針對有啟動的服務個別進行分析! ================= SSH 的登錄文件資訊匯整 ======================= 今日沒有使用 SSH 的紀錄================= Sednamil 的登錄文件資訊匯整 ================== 您的主機有進行 SASL 身份認證的功能今日沒有 sendmail 的相關資訊================= 全部的登錄文件資訊匯整 ======================= 1. 重要的登錄記錄檔 ( Secure file )說明:已經取消了 pop3 的資訊! Apr 8 15:46:22 www su: session opened for user vbird by root(uid=0) Apr 8 15:47:02 www su: session closed for user vbird2. 使用 last 這個命令輸出的結果wtmp begins Wed Apr 8 15:19:47 20093. 將特重要的 /var/log/messages 列出來瞧瞧!已經取消 crond 與 snmpd 的信息 Apr 8 15:19:47 www syslogd 1.4.1: restart (remote reception). Apr 8 15:34:25 www syslogd 1.4.1: restart (remote reception).

    目前鳥哥都是透過這支程序去分析自己管理的主機,然后再據以了解系統狀況,如果有特殊狀況則即時進行系統處理!而且鳥哥都是將上述的 email 調整成自己可以在 Internet 上面讀到的郵件,這樣我每天都可以收到正確的登錄文件分析資訊哩!


    重點回顧
    • 登錄文件可以記錄一個事件的何時、何地、何人、何事等四大資訊,故系統有問題時務必查詢登錄文件;
    • 系統的登錄文件默認都集中放置到 /var/log/ 目錄內,其中又以 messages 記錄的資訊最多!
    • 登錄文件記錄的主要服務與程序為: syslogd, klogd, log
    • syslogd 的配置檔在 /etc/syslog.conf ,內容語法為:『 服務.等級 記載裝置或文件』
    • syslogd 本身有提供登錄文件服務器的功能,透過修改 /etc/sysconfig/syslog 內容即可達成;
    • logrotate 程序利用 crontab 來進行登錄文件的輪替功能;
    • logrotate 的配置檔為 /etc/logrotate.conf ,而額外的配置則可寫入 /etc/logrotate.d/* 內;
    • logwatch 為 CentOS 5 默認提供的一個登錄文件分析軟件。

    本章習題
    ( 要看答案請將鼠標移動到『答:』底下的空白處,按下左鍵圈選空白處即可察看 ) 實作題:
    • 請在你的 CentOS 5.x 上面,依照鳥哥提供的 logfile.sh 去安裝,并將結果取出分析看看。


    簡答題部分:
    • syslogd 可以作為登錄文件服務器,請以 man page 的方式配合 network 關鍵字,查出 syslogd 需要加上什么選項就能夠成為登錄文件服務器? 透過 man syslogd ,查詢到 -r 的選項。
    • 如果你想要將 auth 這個服務的結果中,只要信息等級高於 warn 就給予發送 email 到 root 的信箱,該如何處理? 利用 vim 去編輯 /etc/syslog.conf 文件,內容為
      auth.warn root
    • 啟動系統登錄資訊時,需要啟動哪兩個 daemon 呢? syslogd 記錄系統軟件, klogd 記錄核心資訊。
    • syslogd 以及 logrotate 個別透過什么機制來運行? syslogd 為 stand alone daemon 的機制; logrotate 則是透過 crontab 來運行的!只是個命令而已。

    參考數據與延伸閱讀
    • 注1:關於 console 的說明可以參考底下的連結:
      http://en.wikipedia.org/wiki/Console
      http://publib.boulder.ibm.com/infocenter/systems/index.jsp?topic=/com.ibm.aix.files/doc/aixfiles/console.htm
    • 關於 logfile 也有網友提供英文版喔!我將他放置到:http://vbird.dic.ksu.edu.tw//download/vbird/logfile_en.txt

    2002/06/24:第一次完成
    2003/02/11:重新編排與加入 FAQ
    2005/10/12:舊的文章已經被移動到 此處。
    2005/10/24:終於寫完了~啊!怎么寫這么久??
    2006/07/23:修改了 /etc/logrotate.d/syslog 的配置數據
    2009/03/31:將舊的基於 FC4 版本的數據移動至 此處
    2009/09/14:加入了一些例題而已。這一篇太簡單了~想不到什么好的題目說~

    2010/12/24:感謝網友 eujiang 提供的英文版 logfile.sh 程序喔!


    出處:http://vbird.dic.ksu.edu.tw/linux_basic/0570syslog.php

    《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

    總結

    以上是生活随笔為你收集整理的鸟哥的Linux私房菜(基础篇)- 第十九章、认识与分析登录文件的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    五月婷婷.com | 久草在线免费色站 | 中文字幕av一区二区三区四区 | 6699私人影院 | 视频在线在亚洲 | 亚洲精品男女 | 一级黄色在线免费观看 | 国产成人一二片 | 婷婷色在线视频 | 日韩久久视频 | 久久国产亚洲 | 人人澡人 | 久免费视频 | 久久与婷婷 | 在线天堂中文在线资源网 | 免费看的av片 | 国产视频九色蝌蚪 | 一二区精品 | 欧美小视频在线观看 | 九九久久精品视频 | 国产精品久久久久久久久久久久冷 | 亚洲午夜久久久久久久久电影网 | 国产免费看 | 欧美日韩一区二区在线 | 国产美女久久 | 久久这里只有精品视频首页 | 亚洲婷婷综合色高清在线 | 夜夜夜夜猛噜噜噜噜噜初音未来 | 四虎影视精品 | 玖玖999| 日韩69视频 | 99久热在线精品视频观看 | 欧美极品xxxxx | 亚洲国产中文在线观看 | 麻豆精品视频在线观看免费 | 久久99九九99精品 | 国产精品视频app | 婷婷av在线 | 日本久久免费电影 | 2024国产精品视频 | 狠狠色噜噜狠狠狠合久 | 中日韩男男gay无套 日韩精品一区二区三区高清免费 | 免费视频黄 | 天天操狠狠操 | av在线最新| wwwwwww色| 中文字幕在线影院 | 777奇米四色 | 中文字幕在线观看亚洲 | 欧美日韩免费视频 | 日韩免费电影一区二区 | 91九色视频国产 | 免费观看国产精品 | 色五月情| 2019av在线视频 | 操操操com | 337p日本欧洲亚洲大胆裸体艺术 | 国产精品九九九 | 手机成人av在线 | 日韩视频一区二区三区 | 国产视频在线免费 | 在线只有精品 | 不卡的一区二区三区 | 国产精品高清在线观看 | 99久在线精品99re8热视频 | 亚洲欧洲成人精品av97 | 色狠狠婷婷 | 久艹视频免费观看 | 日韩欧美综合精品 | 久久国产精品一二三区 | 国产69精品久久久久久久久久 | 日韩视频免费在线观看 | 日韩在线视频精品 | 亚洲精品视频在线观看视频 | 国产黄色免费电影 | 日韩色视频在线观看 | 97超碰人 | 91亚·色| 国产精品久久久久久久久费观看 | 日韩在线视频精品 | av电影不卡在线 | 国产麻豆剧传媒免费观看 | 国产最新精品视频 | 精品色综合 | 成人精品一区二区三区电影免费 | 欧美黄在线 | 91在线观看高清 | 国产一区免费在线 | 97超碰人人在线 | 午夜黄色大片 | 在线观看国产麻豆 | 国产精品久久久久久麻豆一区 | 在线观看va| 中日韩三级视频 | 欧美精品v国产精品v日韩精品 | 久草在线资源免费 | 久久人人添人人爽添人人88v | 国产原创在线 | 亚洲精品美女久久久久网站 | 婷婷色综合色 | 狠狠色丁香久久综合网 | 亚洲精品在线观 | 91夫妻视频 | 国产区在线 | 深爱激情五月网 | 精品亚洲一区二区 | 成人av资源网 | 99精品国自产在线 | 国产免费av一区二区三区 | 久久人人爽人人片 | 国产精品va在线播放 | 婷婷五月情 | 日本婷婷色 | 欧美在线视频日韩 | 婷婷中文在线 | 色综合久久中文综合久久牛 | 亚洲电影一区二区 | 天堂av免费观看 | 精品国产乱码久久久久久浪潮 | 一区二区三区在线播放 | 97在线精品国自产拍中文 | 视频福利在线 | 亚洲老妇xxxxxx | 中文字幕观看视频 | 黄色软件视频大全免费下载 | 国产美女免费视频 | www.夜夜 | 欧美国产视频在线 | 九九久久免费 | 亚洲精品自拍视频在线观看 | 91精品区| 久精品视频免费观看2 | 亚洲热视频 | 国产成人一区二区三区免费看 | 欧美性大战久久久久 | 日韩欧美一区二区三区在线 | 人人讲 | 亚洲在线视频播放 | 91看毛片 | av 一区 二区 久久 | 在线看黄网站 | 久久久亚洲影院 | 美女精品网站 | 黄网站色视频免费观看 | 亚洲综合在线观看视频 | 欧美精品久久久久久久久久白贞 | 欧美精品一区二区免费 | 九月婷婷人人澡人人添人人爽 | 亚洲午夜久久久久久久久久久 | 欧美 激情 国产 91 在线 | 久久久久国产成人精品亚洲午夜 | 99久久精| 一区二区国产精品 | 久久高清国产视频 | 久久69精品 | 免费在线观看国产精品 | 久久午夜视频 | 精品国内自产拍在线观看视频 | 激情伊人五月天久久综合 | 亚洲资源在线网 | 全久久久久久久久久久电影 | 一区二区三区四区五区在线 | 中日韩三级视频 | 国产精品久久久久影视 | 日韩精品 在线视频 | 久久免费99 | 中文在线字幕观看电影 | japanesexxxhd奶水 91在线精品一区二区 | 亚洲欧美日韩国产一区二区 | 91桃色在线免费观看 | 亚洲国产成人精品电影在线观看 | 日韩av中文 | 国产精品1区 | 国内精品久久久久久久影视简单 | 国产无区一区二区三麻豆 | 99久久日韩精品免费热麻豆美女 | 五月婷婷久草 | 国产999精品久久久久久绿帽 | 日韩欧美视频一区 | 欧洲亚洲精品 | 91九色国产在线 | 欧美一区视频 | 中文字幕乱视频 | 久久久久激情 | 国产日韩在线视频 | 狠狠地操 | 免费在线一区二区 | 99久久精品国产一区二区成人 | 日韩免费一级a毛片在线播放一级 | 2019中文 | 欧美一级日韩免费不卡 | 亚洲国产手机在线 | 在线国产欧美 | 日韩av专区 | 日日操日日干 | 久久久久久影视 | 日韩精品中文字幕有码 | 网址你懂的在线观看 | 日韩系列 | av成人免费观看 | 国产又粗又猛又黄又爽 | 麻花豆传媒一二三产区 | 国产精品a成v人在线播放 | 日韩网页 | 天天操夜 | 亚洲第一色 | av电影免费在线看 | 欧美精品天堂 | 国产又粗又猛又黄又爽视频 | 精品久久久一区二区 | 午夜视频在线观看一区二区 | 日韩最新理论电影 | 成人va在线观看 | 国产精品岛国久久久久久久久红粉 | 欧美一区在线观看视频 | 天天干天天草天天爽 | 久久久久久久久久久高潮一区二区 | 国产一级做a爱片久久毛片a | 成人黄色电影在线观看 | www.福利视频 | 热久精品 | 成人在线小视频 | av蜜桃在线 | 天堂av最新网址 | 国内成人精品视频 | 超碰人人在线观看 | 有码中文字幕在线观看 | 免费成人av在线 | 成人免费观看在线视频 | 草久在线观看 | 国产99久久精品一区二区永久免费 | 九九热在线视频 | 香蕉蜜桃视频 | 中文国产在线观看 | 免费成人在线观看视频 | 国产免费久久久久 | 国产网站色 | 色婷婷 亚洲 | 精品国产一区二区久久 | 国产一区在线精品 | 麻豆视频在线看 | 久久这里只有精品视频99 | 色婷婷激婷婷情综天天 | 欧美色图亚洲图片 | 亚洲综合网 | 国产亚洲字幕 | 亚洲视频中文 | 国产精品久久久久婷婷二区次 | 欧美日韩国产一区二区在线观看 | 天天色官网 | 久久精品79国产精品 | 天天色天天综合 | 欧美性视频网站 | av免费看在线 | 日韩色在线观看 | 五月天堂网 | 国产视频2 | 国产麻豆果冻传媒在线观看 | 性色在线视频 | 欧美美女激情18p | 99久久99视频 | 97国产精品亚洲精品 | 丁香六月婷婷激情 | 超碰在线天天 | 丁香花在线观看免费完整版视频 | 一区中文字幕 | 黄色小网站在线 | 久久久久久久久影院 | 欧美国产精品久久久久久免费 | 三级黄色片在线观看 | 91免费国产在线观看 | 国产日韩中文字幕 | 亚洲精品成人免费 | 国产精品中文字幕av | 成年人电影免费看 | 天堂网中文在线 | 国产美女视频免费 | 99精品99| 国产一二三四在线视频 | 天堂av在线中文在线 | 免费观看91视频 | 91精品国产综合久久婷婷香蕉 | 国产亚洲精品久久久久久电影 | 91精品导航 | 在线国产中文字幕 | 国产一区成人在线 | 一级片视频免费观看 | 69av网| 精品超碰 | 丁香综合av | 国产日女人 | 深爱婷婷久久综合 | av丁香花| 国产喷水在线 | 午夜少妇| 日本精油按摩3 | 国产一级黄 | 国产成人精品一区二区三区免费 | 日韩成人中文字幕 | 综合色亚洲 | 麻豆视频一区 | 久久精品99国产国产 | 色视频国产直接看 | 激情影音先锋 | 国产999免费视频 | 五月天婷亚洲天综合网鲁鲁鲁 | 精品久久久久久久久久久久久久久久久久 | 亚洲精品在线视频观看 | 国产区精品在线 | 欧美精品一区二区性色 | 国产专区精品视频 | 欧美伦理一区 | 免费日韩三级 | 久久成人在线视频 | 国产一卡二卡在线 | 日韩欧美在线视频一区二区三区 | 日色在线视频 | 国产精品久久电影观看 | 五月婷婷久 | 日韩视频在线一区 | 丝袜美腿在线 | 黄色一级大片在线免费看产 | 日韩一区视频在线 | 久久综合久久综合这里只有精品 | 99久久夜色精品国产亚洲 | 亚洲情婷婷 | 成年人黄色av| 久久av免费观看 | 一区二区三区 亚洲 | 在线 国产 亚洲 欧美 | 国产精品99久久免费黑人 | 一级片色播影院 | 黄色.com| 色综合久久久久网 | 日韩午夜av电影 | 日韩免费一级电影 | 国产日韩中文在线 | 日本bbbb摸bbbb| 九九九热精品免费视频观看 | 久久艹影院 | 国产午夜精品免费一区二区三区视频 | 天天翘av| 亚洲最大av在线播放 | 日韩素人在线观看 | 97国产视频| 成人久久18免费 | 成人动态视频 | 国产乱对白刺激视频在线观看女王 | 午夜资源站 | 久久69av| 四月婷婷在线观看 | 国产亚洲精品久久久网站好莱 | 午夜精品久久久久 | 一本一本久久a久久精品综合小说 | 国产精品美女久久久久久久 | 国产在线免费 | 精品久久久久久久久久久久久久久久久久 | 亚洲精品国产自产拍在线观看 | 日韩精品一区二区三区免费观看 | 亚洲国产日韩精品 | 亚洲精品乱码久久久久 | 国产91免费观看 | 日韩簧片在线观看 | 正在播放一区 | 五月天天av | 久久成人18免费网站 | 91免费国产在线观看 | 日本成人免费在线观看 | 色在线最新 | 在线三级av | 97在线观视频免费观看 | 日韩中文字幕第一页 | 午夜av不卡 | 成全在线视频免费观看 | 成人国产精品一区二区 | 中文字幕免费不卡视频 | 亚洲精品一区二区三区四区高清 | 久久综合五月婷婷 | 国产精品99久久久久久有的能看 | 91九色蝌蚪| 麻豆av一区二区三区在线观看 | 国产一区二区三区午夜 | 天天干人人插 | 天天射综合 | 18网站在线观看 | 久久首页 | 国产高清 不卡 | 91人人爽久久涩噜噜噜 | 97人人模人人爽人人喊网 | av资源中文字幕 | 在线观看精品 | 国产精品18毛片一区二区 | 亚洲精品av在线 | 九色最新网址 | 亚洲黄色免费网站 | 国产婷婷一区二区 | 国产大尺度视频 | 亚洲香蕉在线观看 | 久久久久久综合网天天 | 四虎免费在线观看 | 中文av日韩 | 国产精品一区二区美女视频免费看 | 亚洲成人999 | 九九免费在线观看视频 | 午夜性色 | 91麻豆看国产在线紧急地址 | 欧美精品第一 | 97超碰在线久草超碰在线观看 | 人人网av| 久久久在线观看 | 亚洲日本中文字幕在线观看 | 久久久久久高潮国产精品视 | av中文在线 | av线上免费观看 | 亚洲综合丁香 | 日韩有码在线观看视频 | 日韩欧美亚洲 | 一级性生活片 | 很黄很黄的网站免费的 | 日韩精品在线视频 | 欧美性色网站 | 国产精品美女视频网站 | 久久精品亚洲一区二区三区观看模式 | 激情综合久久 | 1024手机看片国产 | 99re8这里有精品热视频免费 | 亚洲欧美激情插 | 字幕网在线观看 | 啪啪小视频网站 | av黄在线播放 | 黄a网站 | 国产男女免费完整视频 | 好看av在线| 色999五月色| www.99热精品| 狠狠久久 | 91日韩在线播放 | 国内精品久久久久影院男同志 | 91pony九色丨交换 | 国产一区欧美二区 | 视频 国产区| 亚洲国产美女精品久久久久∴ | www.久久免费视频 | 91精品少妇偷拍99 | 欧美性超爽 | 色搞搞 | 在线黄色免费 | 亚洲精品国偷拍自产在线观看蜜桃 | 在线天堂日本 | 久久久色 | 亚洲精品av中文字幕在线在线 | 亚洲欧美日韩一区二区三区在线观看 | 成年人在线免费视频观看 | 免费午夜av | 在线观看一区 | 91超碰在线播放 | 亚洲国产影院av久久久久 | 亚洲黄色一级大片 | 又粗又长又大又爽又黄少妇毛片 | 国产成人精品免高潮在线观看 | 日韩欧美高清 | 夜夜骑日日| 国产裸体永久免费视频网站 | 日韩高清 一区 | 五月天综合在线 | 免费看网站在线 | 在线看小早川怜子av | 亚洲国产片| 在线91网 | 亚洲国产剧情av | 天天插天天色 | 午夜aaaa | 婷婷六月天天 | 7777精品伊人久久久大香线蕉 | 国产精品久久久久久99 | 日韩高清在线一区二区三区 | a久久久久 | 日韩中文幕 | 亚洲国产精品久久久 | 亚洲精品国产精品乱码不99热 | 亚洲黄在线观看 | 国产精品久久久久久久久久新婚 | 色姑娘综合 | 正在播放国产精品 | 四月婷婷在线观看 | 婷婷丁香在线 | 国产精品成人一区二区三区吃奶 | 久草在线一免费新视频 | 嫩嫩影院理论片 | 日韩欧美电影 | 国产免费久久精品 | 国产精品原创 | 久久色中文字幕 | 婷婷www | 91av视频在线免费观看 | 国产一二三四在线观看视频 | 深夜免费小视频 | 九九色网 | 久久国产精品第一页 | 黄av免费在线观看 | 国产免费又爽又刺激在线观看 | 999久久国产精品免费观看网站 | 欧美一级小视频 | 欧美激情精品久久久久 | 午夜神马福利 | 亚洲欧洲日韩 | 日韩com | 国产精品精品国产色婷婷 | www黄色com| 国产精品国产三级国产aⅴ无密码 | av中文天堂在线 | 在线视频免费观看 | 中文字幕色综合网 | 99久久婷婷国产精品综合 | 日韩精品久久久久久久电影99爱 | 成人试看120秒| 国产成人精品一区二区在线观看 | 亚洲爱av| 在线看成人 | 国产日韩三级 | 国产午夜不卡 | 久草男人天堂 | 97超碰人人澡人人爱学生 | 九九在线高清精品视频 | 中文字幕二区在线观看 | 成人一区二区在线观看 | 丰满少妇高潮在线观看 | 日韩精品免费专区 | 亚洲精品视频在线 | 久久人人爽爽人人爽人人片av | 久久久激情视频 | 国产一区二区三区高清播放 | 青春草国产视频 | 69久久久 | 99久久精品国产一区二区三区 | 国产在线免费 | 日韩av电影免费观看 | 中文字幕日韩电影 | 国产成人在线精品 | av高清免费在线 | 久久高清 | 欧美激情视频一二三区 | 免费观看成人av | 狠狠干狠狠艹 | 天天天干| 999久久国精品免费观看网站 | 久久久久久久久久免费视频 | 久免费| 欧美日韩精品免费观看 | 日韩av手机在线观看 | 亚洲国产精品传媒在线观看 | 亚洲我射av | 高清一区二区三区 | 天天天干夜夜夜操 | 一区二区三区高清在线观看 | 一区二区三区电影 | 国产剧情在线一区 | 夜夜躁狠狠躁日日躁视频黑人 | 亚洲永久精品国产 | 亚洲午夜精品一区二区三区电影院 | 黄色在线看网站 | av免费网| 精品在线观看一区二区 | 少妇bbbb| 在线观看黄色av | 日本不卡123区 | 一级免费黄色 | 成人av影视 | 亚洲成a人片77777kkkk1在线观看 | 亚洲一级电影视频 | 国产一二三区在线观看 | 国产在线播放一区二区三区 | 亚洲综合色视频 | 久久一区二区三区日韩 | 日韩免费电影 | 欧美午夜寂寞影院 | 日韩三级久久 | 81精品国产乱码久久久久久 | 天天操天天操天天 | 精品在线亚洲视频 | 韩国av电影在线观看 | 婷婷视频 | 麻豆视频国产精品 | 精品视频在线视频 | 免费观看性生交大片3 | www.天天色| 99久久www免费 | 97av影院| 91资源在线观看 | 免费成人在线视频网站 | 亚洲另类视频在线观看 | 人人讲下载 | 综合色久 | 日日夜夜操操操操 | 免费看的毛片 | 欧美激情精品一区 | 亚洲精品www | 国产精品国产三级国产aⅴ入口 | 国产精品手机视频 | 欧洲高潮三级做爰 | 国产成人精品一区二区 | 国产尤物视频在线 | www.亚洲精品在线 | 91.精品高清在线观看 | 国产自在线观看 | 天天操夜夜摸 | 天堂网中文在线 | 91超国产| 久久午夜电影网 | 精品无人国产偷自产在线 | 日韩在线视频一区 | 久久天天综合网 | 国产在线精品一区二区三区 | 国产成人中文字幕 | 久久久久久久久精 | 亚洲精品美女久久久久网站 | 久艹视频在线观看 | 久草线 | 九七在线视频 | 五月婷婷久 | 国产在线观看污片 | 92av视频 | 精品免费在线视频 | 日日插日日干 | 天天操夜夜操国产精品 | 久久人人做 | 精品久久国产一区 | 中文字幕在线久一本久 | 天堂av在线7| 伊人影院av | 波多野结衣久久资源 | 天堂黄色片 | 日韩av专区 | 一区二区三区电影 | 亚洲一区二区三区四区精品 | 91av在线国产 | 91传媒91久久久 | 亚洲资源视频 | 米奇狠狠狠888 | 91视频这里只有精品 | 日本护士撒尿xxxx18 | 最新婷婷色 | 国内精品亚洲 | 国产精品久久久久久av | 蜜臀一区二区三区精品免费视频 | 中文字幕免费看 | 超碰在线97观看 | 91伊人久久大香线蕉蜜芽人口 | 日韩大片在线观看 | 久久成熟 | 亚洲福利精品 | 2022久久国产露脸精品国产 | 黄色av电影在线 | 久久99免费视频 | 国产色小视频 | 96视频在线| 成人一区在线观看 | 在线观看视频97 | 欧美日韩伦理一区 | 91福利专区| 免费在线观看日韩 | 国产精品伦一区二区三区视频 | 国产第一页在线播放 | 久久精品视频免费观看 | 51久久夜色精品国产麻豆 | 亚洲欧美日本国产 | 中文字幕 第二区 | 国产成人a v电影 | 一区二区三区日韩精品 | 日本丶国产丶欧美色综合 | 中文字幕在线观看一区二区三区 | 亚州人成在线播放 | 永久精品视频 | 国产精品久久久毛片 | 菠萝菠萝蜜在线播放 | 日韩精品免费一区二区在线观看 | 在线观看精品 | 国产精品一区二区在线看 | 9999在线视频 | 91av在线免费视频 | 国产精品一区二区你懂的 | 在线观看视频亚洲 | 99视频在线精品 | 99热精品在线 | 亚洲精品国偷拍自产在线观看 | 99久久精品免费看国产免费软件 | 日韩一区在线免费观看 | 国产又粗又猛又爽又黄的视频先 | 在线高清 | 亚洲九九九在线观看 | 亚洲一区二区天堂 | 欧美一级黄大片 | 五月天高清欧美mv | 99视频国产精品免费观看 | 国产精品一区二区无线 | 精品伊人久久久 | 日本特黄一级片 | 九九免费精品视频 | 色综合中文综合网 | 亚洲综合在线播放 | 九九国产精品视频 | 日韩精品在线免费观看 | 日韩av一区二区三区 | 国产色道 | 欧美成人猛片 | 日韩精品久久久免费观看夜色 | 福利网址在线观看 | 最近中文字幕视频完整版 | 99在线观看免费视频精品观看 | 欧美日韩视频免费 | 色多多在线观看 | 国产麻豆电影在线观看 | 色婷婷午夜 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 992tv又爽又黄的免费视频 | av资源免费看 | 在线观看完整版 | 干亚洲少妇 | 亚洲.www | 99久久精品免费看国产一区二区三区 | 天天撸夜夜操 | 欧洲色综合 | 在线观看www视频 | 一区二区三区四区免费视频 | 成人在线免费观看视视频 | 五月婷婷黄色网 | 91热| 中文字幕在线国产精品 | 国产精品美女在线 | 碰超人人| 国产精品久久久久久999 | 香蕉影视在线观看 | 精产嫩模国品一二三区 | 九九免费视频 | 欧美成年网站 | 亚洲狠狠丁香婷婷综合久久久 | 六月丁香综合网 | av电影在线免费观看 | 久久久精品久久 | 日韩电影精品 | 欧美日韩亚洲在线观看 | 久久精品123| 国产精品高清在线观看 | 国产视频一区精品 | 国产日韩精品欧美 | 青青射| 伊人五月在线 | 色吧久久| 久艹在线播放 | 日日操天天射 | 91香蕉视频黄色 | 久久的色 | 久草在线视频资源 | 免费高清无人区完整版 | 草在线 | 欧美久久久久久久久 | av亚洲产国偷v产偷v自拍小说 | 午夜精选视频 | 五月色丁香 | 天天色图 | 国产激情免费 | 在线观看av不卡 | 国产又粗又长又硬免费视频 | 欧美中文字幕第一页 | 在线观看成人福利 | 91亚洲精品国产 | 中文av一区二区 | 国产精品v欧美精品 | 久久久国产高清 | 国产成人精品一区二区三区福利 | 亚洲夜夜网 | 久精品一区| 能在线看的av| 国产色一区 | 国产精品视频不卡 | www九九热 | 国产高清第一页 | 国产99中文字幕 | 在线观看岛国片 | 中文字幕在线第一页 | av电影在线免费观看 | 亚洲国产精品电影在线观看 | 国产精品久久久久久一区二区三区 | 免费看的黄色的网站 | 中文字幕在线看视频国产中文版 | 欧美日韩高清 | 国产精品久久久视频 | 亚州免费视频 | 日韩免 | 精品国产一区二区三区四区在线观看 | 日韩一级电影在线 | 6080yy午夜一二三区久久 | av电影一区 | www日日 | 国产一区二区三区黄 | 日韩三级视频在线观看 | 最新av免费在线 | 在线视频日韩 | 中文字幕观看av | 天天干亚洲 | 色综合天天 | 国产精品免费一区二区三区在线观看 | 成人av中文字幕在线观看 | 久久综合精品一区 | 91精品国产福利 | 久久精品精品 | 久久中文网 | 99精品一区二区 | 综合国产视频 | 91片黄在线观| 欧美另类美少妇69xxxx | 免费黄色在线网址 | 亚洲精品国产精品99久久 | 伊人丁香 | 一区免费观看 | 中文字幕五区 | 人人干在线观看 | 精品二区久久 | 久久五月婷婷丁香社区 | 久久久久综合网 | 日日噜噜噜噜夜夜爽亚洲精品 | 麻豆综合网 | 一区二区三区在线免费观看 | 欧美一级黄色视屏 | 丁香六月综合网 | 伊人首页 | 日本视频不卡 | 国产伦理久久精品久久久久_ | 国产精品亚洲片在线播放 | 久久久99精品免费观看app | 日韩中文字幕亚洲一区二区va在线 | 黄色毛片电影 | 91精品国产综合久久福利 | 97成人在线视频 | 欧美乱大交 | 日韩欧美在线不卡 | 亚洲成人av在线电影 | 久久国产视频网 | 特级xxxxx欧美 | 色av男人的天堂免费在线 | 欧美黑人xxxx猛性大交 | 国产精品区二区三区日本 | 97色国产| 久久av免费 | 九九九在线观看视频 | 91香蕉视频 mp4 | 超碰97人人爱 | 成年人在线播放视频 | 美女视频黄,久久 | av中文在线观看 | 99欧美精品 | 91视频最新网址 | 亚洲精品国精品久久99热 | 国产精品网红直播 | 99国内精品久久久久久久 | 国产精品门事件 | 亚洲闷骚少妇在线观看网站 | 福利精品在线 | 狠狠干在线 | 国产精品久久久久久久久久久不卡 | 亚洲精品国偷拍自产在线观看 | 99精品久久只有精品 | www免费看片com | 美女黄频在线观看 | 色999视频| 黄色三级免费网址 | 久久久久久久久久久高潮一区二区 | 久久电影日韩 | 午夜国产影院 | 丁香视频全集免费观看 | 日本精品一区二区在线观看 | 日韩一区二区三区免费视频 | 色播五月激情五月 | 狠狠操狠狠干2017 | 亚洲女欲精品久久久久久久18 | 99在线高清视频在线播放 | av在线小说 | 91精品视频免费看 | 综合色站导航 | 97色国产 | 国产黄色视 | 免费看毛片网站 | av在线播放网址 | 免费97视频 | 91中文字幕永久在线 | 最近中文字幕免费大全 | 亚洲成人av一区二区 | 免费看片网站91 | 亚洲精品国产综合99久久夜夜嗨 | 精品国产伦一区二区三区观看体验 | 日韩成人精品 | 久久久黄视频 | 久久国产精品精品国产色婷婷 | 热久久视久久精品18亚洲精品 | 91正在播放 | 色的网站在线观看 | 噜噜色官网 | 六月色丁香 | 高清国产在线一区 | 亚洲一区日韩精品 | 波多野结衣在线播放一区 | 欧美巨乳网 | 在线影视 一区 二区 三区 | 超碰人人射 | 亚洲精品乱码久久久久久高潮 | 欧美成人精品欧美一级乱黄 | 日韩一区二区三免费高清在线观看 | 亚洲成人资源在线观看 | 亚洲精品在线免费观看视频 | 国产亚洲综合性久久久影院 | 欧美少妇18p | 日韩久久视频 | 激情综合网天天干 | 91精品在线免费观看 | 国产精品久久久久久久7电影 | 麻豆系列在线观看 | 日韩av中文在线观看 | 亚洲三级毛片 | 国产精品高清av | av网站免费看 | 右手影院亚洲欧美 | 亚洲激情中文 | 综合网伊人 | 国产视频一区在线免费观看 | 在线成人中文字幕 | 久久噜噜少妇网站 | 国产色视频 | 六月色婷婷 | 免费在线观看的av网站 | 国内精品久久久久影院优 | 欧美成人精品三级在线观看播放 | 中文字幕乱码亚洲精品一区 | 亚洲免费观看在线视频 | 久久视频热 | 91精品办公室少妇高潮对白 | 中文字幕 91| 蜜桃视频日本 | 久久成人视屏 | 成人9ⅰ免费影视网站 | 欧美日韩国产一区二区在线观看 | 精品美女国产在线 | 视频在线一区二区三区 | 一级理论片在线观看 | 这里只有精品视频在线观看 | 五月天六月婷 | 色狠狠干 | 国产亚洲精品久久久久秋 | 欧美日韩p片 | 91麻豆精品国产自产在线 | 精品亚洲成a人在线观看 | 日韩精品亚洲专区在线观看 | 国产999视频| 超级碰碰碰视频 | 久久成年人 | 特级毛片在线免费观看 | www.xxx.性狂虐| 毛片基地黄久久久久久天堂 | 国产成人三级 | 日韩精品欧美一区 | 国产a精品 | 麻豆视频在线观看免费 | 国产精品久久久免费 | 精品国产自在精品国产精野外直播 | 天天射天天干天天插 | 婷婷久久丁香 | 99久久精品国产亚洲 | 黄色的网站免费看 | 国内精品视频一区二区三区八戒 | 久久综合毛片 | www久久久久 | 99九九视频 | av网址aaa | 国产精品视频免费看 | 一区二区三区四区久久 | 中文字幕色综合网 | 亚洲综合在线一区二区三区 | 亚洲精品乱码久久久久v最新版 | 91av在线视频免费观看 | 69av国产| 精品国内自产拍在线观看视频 | 欧美综合国产 | 91精品久久久久久综合五月天 | 81国产精品久久久久久久久久 | 激情欧美一区二区三区免费看 | 免费看污在线观看 | 亚洲乱码久久 | 丁香六月婷婷开心 | 91麻豆国产福利在线观看 | 99视频在线观看免费 | 免费观看av | 高清精品视频 | 国产精品一区二区三区免费看 | 免费中文字幕在线观看 | 亚洲国产电影在线观看 | 五月天婷婷在线视频 | 久久久精品成人 | 亚洲黄色小说网址 | 成人亚洲网 |