表示一組進程。
標籤屬性
這些是標籤本身的 XML 屬性,而不是完整性監控規則監控的實體屬性。
屬性
|
說明
|
必要
|
預設值
|
允許值
|
onChange
|
將進行實時監控
|
否
|
false
|
true, false
|
實體集屬性
這些是可以由完整性監控規則監控的實體屬性。
-
CommandLine:完整的命令行,如 "ps -f"(Unix)、"ps w"(Linux)或 Process Explorer(Windows)所示。
-
Group:該程序運行所屬的群組。
-
在 Unix 系統下,這是進程的「有效」群組 ID,決定共享資源的存取權,並在某些情況下決定檔案存取權。若進程降低權限或以其他方式切換其有效群組憑證,群組 ID 可能會改變。例如,一個程式可以暫時更改群組 ID,並獲得寫入權限,以將安裝檔案複製到使用者只有唯讀權限的目錄中。
-
在 Windows 上,這是由登入時建立的使用者特定存取權杖所設立的程序「當前」主要群組,該權杖為使用者及其執行的任何程序設定存取和資源權限。
注意
除了主要群組外,Windows 進程通常還有一個或多個附加群組憑證與之關聯。這些附加群組憑證不會被代理監控——可以在 Process Explorer 的進程屬性的安全標籤中查看。
-
-
Parent:創建此進程的進程 PID。
-
Path:該進程二進位的完整路徑。在 Windows 上,這來自 GetModuleFileNameEx() API。在 Linux 和 Solaris 10 上,這來自讀取符號連結 /proc/{pid}/exe 或 /proc/{pid}/path/a.out。(在 Solaris 9 和 AIX 上不可用。)
-
Process:進程二進位的簡短名稱(無路徑)。例如,對於 "c:\windows\notepad.exe" 來說,它將是 "notepad.exe",而對於 "/usr/local/bin/httpd" 來說,它將是 "httpd"。
-
Threads:目前在該進程中執行的執行緒數量。
-
User:執行該進程的用戶。在 Unix 系統中,這是進程的“有效”用戶 ID,如果進程降低權限或以其他方式切換其有效用戶憑證,該 ID 可能會隨時間變化。
簡寫屬性
- STANDARD: 命令行、群組、父項、路徑(如適用)、進程用戶
"Key" 的意思
該鍵是 "Process" 屬性(可執行文件的簡短名稱)和 PID 的組合。PID 附加到名稱上,中間用路徑分隔符分隔,例如在 Windows 上為 notepad.exe\1234,在
Unix 上為 httpd/1234。使用路徑分隔符是為了允許 key="abc//" 的包含或排除匹配按預期工作。
子元素
- Include
- Exclude
請參閱 完整性監控規則語言 以獲取有關其允許的屬性和子元素的包含的一般描述。此處僅包含與此 EntitySet 類相關的包含和排除的特定信息。
Include 和 Exclude 的 ProcessSets 特殊屬性
以下範例將監控正在執行的 notepad.exe 進程集,而不考慮 PID。
<ProcessSet> <include key="notepad.exe\/" /> </ProcessSet>
一個進程的各種其他屬性可以用於包含和排除功能測試。功能測試支援 Unix glob 風格的萬用字元 /* 和 ?,且不會對路徑分隔符或其他字符進行標準化處理——這是一種簡單的
glob 風格匹配屬性值。
CommandLine:檢查是否與進程的 commandLine 屬性進行通配符匹配。以下範例將監控任何命令行匹配 "/httpd /" 的進程:
<ProcessSet> <include commandLine="/httpd /" /> </ProcessSet>
Group:檢查是否與進程的群組屬性進行通配符匹配。使用群組名稱的文字版本而不是數字形式:在 Linux 上測試 daemon 群組時,使用 "daemon" 而不是 "2"。以下範例將監控以
root、daemon 或 lp 群組之一運行的任何進程:
<ProcessSet> <include group="root" /> <include group="daemon" /> <include group="lp" /> </ProcessSet>
Path:檢查是否與進程的路徑屬性進行通配符匹配。路徑屬性在某些平台上不可用。以下範例將監控任何二進位位於 System32 下的進程:
<ProcessSet> <include path="/\System32\/" /> </ProcessSet>
User:檢查是否與程序的使用者屬性進行萬用字元匹配。使用使用者名稱的文字版本,而不是數字形式:在 Unix 上測試超級使用者時,使用 "root" 而不是 "0"(零)。以下範例將監控以內建系統使用者(例如
NT AUTHORITY\SYSTEM、NT AUTHORITY\LOCAL SERVICE、NT AUTHORITY\NETWORK SERVICE)身份運行的任何程序:
<ProcessSet> <include user="NT AUTHORITY\/" /> </ProcessSet>