FreeBSD swatch 命令介绍


◎安裝更新相關檔案(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 regexignore regexecho [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/echobellthrottle 01:00這個例子是一行包含"file system full"的字串,將會被顯示及螢幕發出聲響,多樣的(複合的)訊息例子將不會被顯示,若他們出現時間與第一次出現時刻相距在一分鐘之內 。此參數可以避免有心人士利用swatch進行攻擊...◎說明:雖然每個swatchrc只能記錄一個日誌檔,但您可以同時執行多個swatch ...swatch -c .swatchrc.01swatch -c .swatchrc.02◎執行狀況:1.以純粹的swatch命令$swatch產生結果如下...最後我用ctrl c中斷 您也可以用&背景執行 。其中用紫色塗起來的表示個人帳號與swatch無關故省略很明顯可以看到因為我沒有設定任何設定檔所以他也讀不到,所以swatch用預設狀態執行...然後他會顯示預設的設定值(前面有說明在此省略)然後顯示swatch的啟動時間...等待一陣子之後..有一個使用者登入成功用高亮度色彩記錄下來了...目的達到所以中斷之.. 。當然失敗的也會被紀錄...你一定覺得這個訊息沒有什麼用處吧..?別懶了...修改一下設定檔..舉例說明: watchfor /failed|reject/ echo yellow_h換成您想要的關鍵字 至於改成什麼?看個人功力....什麼樣的程度是你所關心的系統報告...自行取捨.. ◎作者:E. Todd AtkinsTodd.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/swatchhttp://www.oit.ucsb.edu/~eta/swatch

推荐阅读