◎安裝 更新相關檔案(cvsup) /usr/ports/security/swatch # make install /usr/ports/security/swatch # make clean ◎語法 swatch [ --config-file file ] [ --restart-time time ] [--input-record-separator regex ] [ [ --examine file_to_examine ] | [ --read-pipe program_to_pipe_from ] | [ --tail file_to_tail ] ] [ --daemon ] ◎swatch敘述: Swatch是被設計用來監視系統動作的程式。 為了要讓Swatch能夠更加的強大,他需要一個用以比對的設定檔。 ◎命令列的參數: --config-file=filename or -c filename 此參數告訴swatch到哪裡去尋找他的設定檔案。 預設值是放在${HOME}/.swatchrc 。 --help 顯示使用說明。 --input-record-separator=regular_expression 此參數告訴swatch使用規則表示式來描繪每筆記錄的邊界。 預設值是return。 --restart-time=[+]hh:mm[am|pm] or -r [+]hh:mm[am|pm] 在特定的時間之後重新啟動,hh代表小時,mm代表分鐘。 若am/pm被省略,則使用24小時制。 若時間前加有"+"這個符號,則代表從新啟動時間為, 從目前時間再加上特定時間,此時am/pm會被忽略。. --script-dir=/path/to/Directory 這個參數將產生的暫存script檔案存放到特定的資料夾, 而不是使用者的家目錄之下。 強烈建議,您不要使用別的使用者也有權限寫入的資料夾, 舉例來說/tmp。 --version or -V 顯示版本資訊。 以下的參數,不能並存,只能選擇其一執行。 --tail-file=filename or -t filename 當他們被附加到某一檔案時,以行為單位檢視文字檔案。 --read-pipe=command or -p command 從命令檢視輸入。 --examine=filename or -f filename 將filename視為檢視檔案來檢視。swatch將會進行一個個別檢視經由這個檔案。 以下的參數純粹用於除錯過程,但是為了完整性仍將其列出。 --dump-script[=filename] 當watcher script產生時,不執行之反而將其寫入到一個檔案或者到標準輸出。 若swatch在無參數狀態執行,如同加入下列參數執行。 swatch --config-file=~/.swatchrc --tail- file=/var/log/syslog 若 /var/log/messages 存在,則 swatch --config-file=~/.swatchrc --tail- file=/var/log/messages 若設定檔不存在,以下的設定則被使用。 watchfor /.*/ echo modes=random 搜尋比對檔案中所有以.*開頭的行 並且用隨機模式顯示色彩型態。 ◎設定檔說明: 這個設定檔由swatch(8)程式去界定什麼型態的表達樣式需要被搜尋比對。 每一行需包含一個關鍵字及一個關鍵字的值(有時是選擇性的)。 關鍵字及其值,以一個空白鍵或等號"="分隔。 watchfor regex ignore regex echo [modes] 以何種顏色顯示符合的行。 這些模式能在xterm上顯示,其中Normal(正常字)是預設值。 可用的值: normal(正常字),bold(粗體), underscore(底線), blink(閃爍), inverse(倒反), black(黑), red(紅), green(綠),yellow(黃), blue(藍), magenta(品紅), cyan(青綠), white(白), black_h, red_h,green_h, yellow_h, blue_h, magenta_h, cyan_h,white_h. _h表示高亮度色彩。 bell [N] 顯示符合的行,並且送出N次的響聲。(預設值為1次) exec command 執行某命令。這個命令可能包含變因(取代符合的行)。 $N 將會取代在符合行中的第N個fIEld。 $0 或 $* 將會完全取代符合行。 mail [addresses=address:address:...][,subject=your_text_here] 當內容符合時,送出郵件給這些郵件位置的人。 預設的郵件收件人為執行此程式的使用者。 pipe command[,keep_open] 將符合內容導為命令,使用keep_open參數來強制執行, 直到另一個導管被執行或swatch結束。 write [user:user:...] 將符合內容以write方式來通知使用者。 throttle hours:minutes:seconds,[use=message|regex] 使用這個參數來限制產生符合樣式的次數。 use=regex參數造成throttling以規則表示式為基礎,而不是message (預設值為use=message) continue 使用這個參數會讓swatch在完成目前比對之後, 繼續嘗試去比對其他樣式。 quit 使用這個參數會使swatch立刻清除並結束。 ◎特別參數 此參數可以用在上面任何一個參數。 when=day_of_week:hour_of_day 此參數定義,視窗的時間及日期,此時動作被執行。 舉例說明: mail=sysad-pager@somehost.somedomain,when=1-6:8-17 ◎設定檔舉例: watchfor /file system full/ echo bell throttle 01:00 這個例子是一行包含"file system full"的字串,將會被顯示及螢幕發出聲響, 多樣的(複合的)訊息例子將不會被顯示, 若他們出現時間與第一次出現時刻相距在一分鐘之內。 此參數可以避免有心人士利用swatch進行攻擊... ◎說明:雖然每個swatchrc只能記錄一個日誌檔,但您可以同時執行多個swatch ... swatch -c .swatchrc.01 swatch -c .swatchrc.02 ◎執行狀況: 1.以純粹的swatch命令 $swatch 產生結果如下...最後我用ctrl+c中斷 您也可以用&背景執行。 其中用紫色塗起來的表示個人帳號與swatch無關故省略 很明顯可以看到因為我沒有設定任何設定檔 所以他也讀不到,所以swatch用預設狀態執行... 然後他會顯示預設的設定值(前面有說明在此省略) 然後顯示swatch的啟動時間... 等待一陣子之後..有一個使用者登入成功用高亮度色彩記錄下來了... 目的達到所以中斷之..。 當然失敗的也會被紀錄... 你一定覺得這個訊息沒有什麼用處吧..? 別懶了...修改一下設定檔.. 舉例說明: watchfor /failed|reject/ echo yellow_h 換成您想要的關鍵字 至於改成什麼?看個人功力.... 什麼樣的程度是你所關心的系統報告...自行取捨.. ◎作者: E. Todd Atkins Todd.Atkins@StanfordAlumni.ORG ◎相關資源: 官方FTP位置: ftp://ftp.stanford.edu/general/security-tools/swatch 最新版本可以在下面獲得 http://www.oit.ucsb.edu/~eta/swatch/latest.tar 官方網頁位置: http://www.stanford.edu/~atkins/swatch http://www.oit.ucsb.edu/~eta/swatch
标签: