FileSet 標籤描述一組檔案。
標籤屬性
這些是標籤本身的 XML 屬性,而不是完整性監控規則監控的實體屬性。
屬性
|
說明
|
必要
|
預設值
|
允許值
|
基礎
|
設置 FileSet 的基礎目錄。標籤中的其他所有內容都相對於此目錄。
|
是
|
不適用
|
字串值解析為語法上有效的路徑(路徑不需要存在)。Note:Windows 代理允許 UNC 路徑,但需要遠端系統允許代理電腦的 "LocalSystem" 帳戶訪問。代理是一個 Windows 服務,並以 LocalSystem(即
NT AUTHORITY\SYSTEM)身份運行。當訪問網路資源時,LocalSystem 使用電腦的憑證,即一個名為 DOMAINMACHINE$ 的帳戶。提供給遠端電腦的存取權杖也包含電腦的 "Administrators" 群組,因此遠端共享必須授予代理電腦的帳戶、代理電腦的 Administrators
群組或 "Everyone" 的讀取權限。如果基值在語法上無效,則 FileSet 將不會被處理。其餘的配置將被評估。
|
onChange
|
是否應即時監控返回的檔案。
|
No
|
false
|
true, false
|
followLinks
|
此檔案集是否會遵循符號連結。
|
No
|
false
|
true, false
|
實體集屬性
這些是可以由完整性監控規則監控的 FileSet 屬性。
注意在 Linux 環境中,對於 Created、LastModified 和 LastAccessed,實時完整性監控模組會檢測文件內容發生變化的掃描,但不會檢測僅更新元數據(如文件更改時間)的變化,例如觸碰文件、讀取文件或其他變化。
|
- Created: 檔案建立的時間戳記
- LastModified: 檔案最後修改的時間戳記
- LastAccessed: 檔案最後存取的時間戳記。在 Windows 上,此值不會立即更新,並且可以禁用最後存取時間戳記的記錄以提升效能。詳情請參閱 檔案時間。此屬性的另一個問題是,掃描檔案的動作需要代理程式打開檔案,這將更改其最後存取的時間戳記。在 Unix 上,如果在打開檔案時可用,代理程式將使用 O_NOATIME 標誌,這可以防止作業系統更新最後存取的時間戳記並加快掃描速度。
- Permissions: 檔案的安全描述符(在 Windows 上為 SDDL 格式,或在支援 ACL 的 Unix 系統上為 Posix 風格的 ACL,否則為 Unix 風格的 rwxrwxrwx 檔案權限,數字(八進位)格式)。
- Owner: 檔案擁有者的使用者 ID(在 Unix 上通常稱為 "UID")
- Group: 檔案擁有者的群組 ID(在 Unix 上通常稱為 "GID")
- Size: 檔案大小
- Sha1: SHA-1 雜湊值
- **Sha256:**SHA-256 雜湊值
- Md5: MD5 雜湊值(已棄用)
- Flags: 僅限 Windows。由 GetFileAttributes() Win32 API 返回的標誌。Windows 資源管理器將這些稱為文件的“屬性”:唯讀、已存檔、已壓縮等。
- SymLinkPath(僅限 Unix 和 Linux):如果檔案是符號連結,連結的路徑會儲存在這裡。Windows NTFS 支援類似 Unix 的符號連結,但僅限於目錄,不包括檔案。Windows 快捷方式物件並不是真正的符號連結,因為它們不是由作業系統處理的;Windows Explorer 處理快捷方式檔案(*.lnk),但其他開啟 *.lnk 檔案的應用程式會看到 lnk 檔案的內容。
- InodeNumber(僅限 Unix 和 Linux):與檔案關聯的 inode 所存儲磁碟的 inode 編號
- DeviceNumber(僅限 Unix 和 Linux):存儲與文件關聯的 inode 的磁碟的裝置號碼
- BlocksAllocated(僅限 Linux 和 Unix):分配用來存儲檔案的區塊數量。
- Growing: (DSA 7.5+) 如果檔案大小在掃描之間保持不變或增加,則包含值 "true",否則為 "false"。這主要對於附加資料防護的日誌檔案有用。請注意,滾動日誌檔案將觸發此屬性的變更。
- Shrinking: (DSA 7.5+) 如果檔案大小在掃描之間保持不變或減少,則包含值 "true",否則為 "false"。
簡寫屬性
以下是簡寫屬性及其對應的屬性。
- CONTENTS: 解析為在 中設定的內容雜湊算法。
- STANDARD: 已建立、最後修改、權限、擁有者、群組、大小、內容、標誌(僅限 Windows)、符號連結路徑(僅限 Unix)
掛載為目錄的磁碟
除非是網路磁碟機,否則掛載為目錄的磁碟機會被視為其他目錄。
替代資料流
基於NTFS的檔案系統支援替代資料流的概念。使用此功能時,其行為在概念上類似於檔案內的檔案。
注意為了演示這一點,請在命令提示符下鍵入以下內容:
echo plain > sample.txt echo alternate > sample.txt:s more < sample.txt more < sample.txt:s第一個「more」將只顯示「plain」文本,這與使用標準文本編輯器(如記事本)打開文件時顯示的文本相同。第二個「more」,訪問 sample.txt 的「s」流,將顯示字符串「alternate」。 |
對於 FileSets,如果未指定流,則包含所有流。每個流在基線中都是一個單獨的實體條目。流的可用屬性有:
- size
- Sha1
- Sha256
- Md5(已棄用)
- Contents
以下範例將包括上述示範中的兩個流:
<include key="**/sample.txt" />
要包含或排除特定的資料流,使用「:」符號。以下範例僅匹配 sample.txt 上的「s」資料流,而不匹配主要的 sample.txt 資料流:
<include key="**/sample.txt:s" />
流表示法支持模式匹配。以下範例將包含 sample.txt,但排除其所有替代流:
<include key="**/sample.txt" />
<exclude key="**/sample.txt:\*" />
"Key" 的意思
金鑰是用來匹配相對於「base」目錄的檔案路徑的模式。這是一種分層模式,模式的各部分由「/」分隔,與給定操作系統的檔案分隔符分隔的路徑部分進行匹配。
子元素
- Include
- Exclude
請參閱 完整性監控規則語言 以獲取有關 Include 和 Exclude 的允許屬性和子元素的一般描述。此處僅包含與 FileSet Entity Set 類相關的 Include 和 Exclude
的特定信息。
FileSets 的包含和排除的特殊屬性
executable:確定檔案是否可執行。這並不意味著其權限允許執行它。相反,會根據平台檢查檔案的內容,以確定該檔案是否為可執行檔案。
注意這是一個相對昂貴的操作,因為它需要代理程式打開檔案並檢查其內容的前一或兩個千位元組,以尋找有效的可執行映像標頭。打開和讀取每個檔案比簡單地掃瞄目錄並根據萬用字元模式匹配檔案名稱要昂貴得多,因此任何使用「可執行檔」的包含和排除規則都會導致掃瞄時間比不使用它們的規則更長。
|