檔案監視模組僅可監視格式為每行有一個記錄的檔案。如果偵測到被監視檔案有變更,模組會建立事件,並在表格中顯示這些事件。模組為某些常用檔案 (例如:passwd 、vfstab 等) 提供預設功能。
您可以新增、移除或編輯此預設清單中的項目。若要加入新檔案,必須定義被監視檔案的記錄格式。您必須指定發生下列情況時生成警報的檔案特定嚴重度︰
加入記錄事件
刪除記錄事件
修改記錄事件
檔案監視模組僅用於監視不經常變更的系統檔案,例如 passwd 檔案。此方法可確保變更通知盡可能的有用。
檔案監視表
檔案變更表
如果受監視的檔案 (例如:目錄) 存在但無法開啟,此檔案將加入到檔案監視表。不再顯示有關此檔案的其他資訊。僅產生一個資訊警報。
每個檔案監視表格標題的右側會列出相關的警報數。檔案監視表用於監視檔案的存在情況。變更表用於監視現有檔案的變更情況。
當檔案的時間戳記發生變更時,模組使用驗證程序檔驗證該檔案。您可以使用模組隨附的 fileparse 二進制,或建立您自己的驗證程序檔。
該模組提供一種可以啟用或停用針對特定檔案之事件監視模式的方法。這個概念有些類似啟用或停用在檔案掃描模組中比對搜尋之樣式的概念。例如:如果您停用 /etc/passwd 檔案而將項目加入此檔案,則表格底部不會顯示相應的事件偵測。該項目將不會顯示,除非再次啟用 /etc/passwd 監視狀態。
檔案監視表列出由模組監視的所有檔案。該表格在頂層顯示某些最常使用的屬性,並在較低的層次顯示其他隱藏屬性。若需更多關於隱藏屬性的資訊,請參閱隱藏檔案屬性。
僅當檔案偵測為現有檔案時,才會通知檔案變更。如果檔案不存在,模組會偵測到大小大於 0 的檔案存在。例如,如果一個檔案有兩個記錄,模組則無法察覺這兩個記錄。不過,模組會通知所有以後發生的修改。
該表格使用以下七個系統檔案進行初始化︰
/etc/hosts /etc/aliases /etc/nsswitch.conf /etc/inittab /etc/vfstab /etc/passwd /etc/rmtab
檔案監視表顯示所有檔案的資訊,並提供有關下表所列屬性的資料。
表 3–1 檔案監視表
欄位 |
說明 |
---|---|
檔案(F) |
檔案的名稱。 |
完整路徑 |
檔案的路徑與實際名稱。 |
檔案大小 |
檔案的大小,以位元組為單位。 |
檔案所有者 |
檔案的所有者。 |
檔案群組 |
檔案所屬的群組。 |
檔案權限 |
執行該檔案的權限。 |
檔案時間戳記 |
上一次更新檔案的時間。 |
驗證程序檔 |
當檔案的時間戳記發生變更時,驗證程序檔用於驗證檔案的路徑。將此程序檔儲存在 /var/opt/SUNWsymon/ SysMgmtPack/filewch/scripts 中,並提供一個相對路徑。程序檔的值是選擇性的。若需更多資訊,請參閱驗證程序檔。 |
結束字碼 |
顯示驗證程序檔最後執行的結束字碼。 |
事件監視 |
顯示每個檔案的檔案監視模式狀態。若需更多資訊,請參閱停用事件監視。 |
下表列出的是隱藏屬性,可從 [列編輯] 視窗中存取。若要開啟此視窗,請在任一列上按滑鼠按鈕 3,然後從快顯式功能表中選擇 [編輯列]。
表 3–2 隱藏檔案屬性
欄位 |
說明 |
---|---|
分隔符 |
欄之間的分隔符。 |
註釋字元 |
分割註釋行的字元類型。 |
欄位數 |
每個檔案項目的欄位數。 |
關鍵字欄位 |
包含關鍵字的欄位數。假設此關鍵字位於記錄的開頭。關鍵字是記錄的識別碼。例如:在 passwd 檔案中,每個記錄的關鍵字為第一個欄位︰使用者姓名。每個記錄的關鍵字都是唯一的。 |
欄位名稱 |
檔案項目中不同欄位的名稱。 |
隱藏值旗標 |
可以是下列其中一個值︰
|
新增嚴重度 |
可能值有︰資訊、警告、錯誤、無。 |
刪除嚴重度 |
可能值有︰資訊、警告、錯誤、無。 |
變更嚴重度 |
可能值有︰資訊、警告、錯誤、無。 |
記錄格式 |
記錄的格式。請參閱記錄格式以取得更多資訊。 |
您可以使用屬性編輯程式設定 [結束字碼] 的一般表示式警報臨界值。警報臨界值沒有預設值。
如果要監視的檔案不存在,檔案監視會產生一個資訊警報。不過,該模組仍會將檔案加入到檔案監視表中,但不顯示有關此檔案的其他任何資訊。
如果要監視的檔案(如目錄)存在但尚未開啟,則檔案將加入到檔案監視表中。不再顯示有關此檔案的其他資訊。
檔案變更表監視檔案並顯示增加、刪除或修改記錄的情況。
表 3–3 檔案變更表
當檔案監視偵測到新事件時,會顯示該事件並產生相應的警報。 [檔案名稱] 儲存格的顏色變更為將檔案加入到檔案監視表時,您指定的事件值相應顏色。事件選項包括資訊、警報、錯誤或無。
當您將新檔案加入到模組監視的檔案清單時,必須提供 record format 屬性的值。該屬性定義被監視檔案的格式。如果將 fileparse 二進制指定為唯一要求的驗證程序檔,則需要使用該值。fileparse 二進制會檢查屬於檔案驗證作業一部份的記錄格式。記錄格式是檔案監視表中檔案項目的隱藏屬性。一旦定義此屬性,您將看不到顯示的屬性,除非您選擇編輯該檔案的內容。若需更多資訊,請參閱驗證程序檔。
下列清單說明記錄格式支援的資料類型:
datatype = {STRING, INT, IPADDRESS, ZERO_STRING, RANGE_INT, CHOICE_INT, CHOICE_STRING CONST}
此處
該字串不能為空
該字串空與不空均可
該整數必須符合其中一個指定的字串
該整數必須符合其中一個指定的整數
該字串必須符合其中一個指定的字串
該欄位值必須相符
該語法也必須支援下列值︰
字串的選項清單中不允許有字元「|」。如果這些字元括在雙引號內出現在被監視檔案中,它們僅可內嵌到雙引號中。INT 值可以是正值。INT 不支援負值。
給常數字串加上雙引號,便可以宣告常數字串,如下例所示︰
"+" | "-" | STRING STRING
可用的運算子如下︰
operator = | , [], *
此處
表示「或」。例如:- line-format = "+" | "-" | STRING STRING
表示選擇性的。例如:- line-format = STRING [STRING|IPADDRESS]
表示零值或多次重複一個資料類型。例如︰ - line-format= IPADDRESS STRING STRING*
下列範例顯示驗證 /etc/passwd 的記錄格式︰
STRING STRING INT INT ZERO_STRING STRING ZERO_STRING | "+" | "-"
運算子的優先順序如下:
[] , | , *
在重新顯示模組期間,如果模組偵測到檔案的時間戳記已變更,則執行相關的驗證程序檔。上次執行的結束字碼會顯示在 [結束字碼] 欄位中。當程序檔欄位有新值時,模組將檢查提供的路徑是否為有效檔案。如果路徑無效,[結束字碼] 欄位將顯示 NO_SUCH_SCRIPT。如果終止正在執行的驗證程序檔,該欄位還會顯示 killed。在此情況下,請指定讓 [結束字碼] 產生警報的一般表示式。
您可以將自己的驗證程序檔放到 /var/opt/SUNWsymon/SysMgmtPack/filewch/scripts 目錄下,或使用與模組一同安裝的 fileparse 二進制。
如果 fileparse 已指定,模組會忽略提供的參數。引數可使用檔案能識別的分隔符、註釋以及記錄格式值建立。如果指定一個值,所有的參數將由建置模組的值取代。此方式可確保不會指定不支援的註釋或不支援的分隔符。
例如:如果指定 mytest.sh -a myarg,將會執行 mytest.sh 程序檔,且 -a myarg 為引數。
fileparse 是一個位於 /var/opt/SUNWsymon/SysMgmtPack/filewch/scripts/ 的 C 二進制。
程序檔的預設值清單已為 [驗證程序檔] 和 [記錄格式] 設定了值。例如,對於 /etc/hosts,設定的值如下︰
驗證程序檔設定為 fileparse
記錄格式設定為 IPADDRESS STRING STRING
二進制會比對在檔案監視表之檔案定義中指定的記錄格式來剖析檔案名稱。如果檔案內容不符合輸入檔 record_format,系統將報告錯誤。並跳過空白行和註釋行。二進制會傳回下列值︰
成功
無法開啟檔案
record_format 不正確
檔案格式不正確
程式錯誤,如記憶體不足
引數錯誤