このページのトピック
FileSet
変更監視モジュールは、への予期しない変更をスキャンしますディレクトリ、レジストリ値、レジストリキー、サービス、プロセス、インストール済みのソフトウェア、ポート、グループ、ユーザ、ファイル、およびWQLエージェントのクエリステートメント。変更監視を有効にして設定するには、「変更監視の設定」を参照してください。
FileSetタグは、ファイルのセットを記述します。
タグ属性
次の表は、変更監視ルールによって監視されるエンティティの属性ではなく、タグ自体のXML属性のリストと説明を示しています。
属性 | 説明 | 必須 | 初期設定値 | 設定できる値 |
base | FileSetのベースディレクトリを設定します。タグ内の他のエレメントはすべて、このディレクトリから相対的に位置付けられます。 | はい | なし | 構文的に有効なパスに解決される文字列値 (Pathが存在する必要はありません)。 UNCパスはWindowsエージェントによって許可されますが、リモートシステムがエージェントコンピュータのLocalSystemアカウントによるアクセスを許可する必要があることに注意してください。エージェントはWindowsサービスであり、LocalSystemとして実行されます (NT AUTHORITY\SYSTEMとも呼ばれます)。ネットワークリソースにアクセスするとき、LocalSystemはコンピュータの資格情報を使用します。この資格情報は、 DOMAIN \ MACHINE $という名前のアカウントです。リモートコンピュータに提示されるアクセストークンには、そのコンピュータのAdministratorsグループも含まれているため、リモート共有では、 エージェントコンピュータのアカウント、 エージェントコンピュータのAdministratorsグループ、またはEveryoneのいずれかに読み取り権限を付与する必要があります。 基本値が構文的に有効でない場合、FileSetは処理されません。残りの設定が評価されます。 |
onChange | 対象のファイルをリアルタイムで監視する必要があるかどうかを示します。 | いいえ | false | true、false |
followLinks | このFileSetはシンボリックリンクを追跡します。 | いいえ | false | true、false |
エンティティセットの属性
次に示すFileSetの属性は、変更監視ルールによって監視可能な属性です。
Linux環境のCreated、LastModified、およびLastAccessedの場合、リアルタイム変更監視モジュールは、ファイルの内容が変更された検索を検出しますが、ファイルの変更、ファイルの読み取り、またはその他の変更は検出しません。ファイルが変更された時間などのメタデータのみがアップデートされます。
- Created: ファイル作成時のタイムスタンプ。
- LastModified: ファイルが最後に変更されたときのタイムスタンプ。
- LastAccessed: ファイルが最後にアクセスされたときのタイムスタンプ。 Windowsでは、この値はすぐには更新されません。パフォーマンスを向上させるために、最終アクセス日時のタイムスタンプの記録を無効にできます。詳細については、ファイル時間 を参照してください。この属性に関するもう1つの問題は、ファイルを検索するには、エージェントがファイルを開く必要があるため、最終アクセスのタイムスタンプが変更されることです。 UNIXでは、ファイルを開くときに
O_NOATIME
フラグが使用できる場合、エージェントはそれを使用します。これにより、OSが最終アクセスのタイムスタンプを更新せずに、検索を高速化できます。 - 権限: Unixシステム上のWindowsまたはPosixスタイルのACL(ACLをサポートするファイル)のセキュリティ記述子( SDDL 形式)。そうでない場合は、Unixスタイルのrwxrwxrwxファイルのアクセス許可(数値(8進数)形式)。
- 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ショートカットオブジェクトはOSによって処理されないため、実際のシンボリックリンクではありません。 Windowsエクスプローラはショートカットファイル (
\*.lnk
) を処理しますが、\*.lnk
ファイルを開く他のアプリケーションにはlnkファイルの内容が表示されます。 - InodeNumber (UnixおよびLinuxのみ): ファイルに関連付けられたinodeが格納されているディスクのinode番号。
- DeviceNumber (UnixおよびLinuxのみ): ファイルに関連付けられたiノードが格納されているディスクのデバイス番号。
- BlocksAllocated (Linux/UNIXのみ): ファイルを格納するために割り当てられるブロック数。
- Growing: (DSA 7.5以降) では、ファイルのサイズがスキャン間で同じまたは増加する場合は値
true
が格納され、それ以外の場合はfalse
が格納されます。これは主に、データが追加されたログファイルに役立ちます。ログファイルをロールオーバーすると、この属性が変更されることに注意してください。 - Shrinking: (DSA 7.5以降) では、スキャン間でファイルのサイズが同じまたは減少する場合は値
true
が格納され、それ以外の場合はfalse
の値が格納されます。
簡略記法属性
短縮形の属性と、そのマップ先の属性を次に示します。
- CONTENTS: コンピュータまたはポリシーエディタの[ 変更監視 ]→[Advanced]で設定されたコンテンツハッシュアルゴリズムに解決されます。
- STANDARD: Created、LastModified、Permissions、Owner、Group、Size、Contents、Flags (Windowsのみ)、SymLinkPath (Unixのみ)。
ディレクトリとしてマウントされたドライブ
ディレクトリとしてマウントされたドライブは他のディレクトリと同様に扱われます。ただし、ネットワークドライブである場合、そのドライブは無視されます。
代替データストリーム
NTFSベースのファイルシステムでは、代替データストリームの概念がサポートされます。この機能が使用される場合には、代替ストリームは概念上、ファイル内のファイルのように動作します。
エコープレーン> sample.txt
エコー代替> sample.txt:s
より多くの< sample.txt
より多くの< sample.txt:s
最初の「more」はテキスト「plain」のみを表示します。このテキストは、メモ帳などの標準テキストエディタでファイルを開いた場合に表示されるテキストと同じものです。2番目の「more」は、sample.txtの「s」ストリームにアクセスして文字列「alternate」を表示します。
FileSetでは、ストリームが指定されていない場合、すべてのストリームが含まれます。各ストリームは、ベースラインの個別のエンティティエントリです。ストリームに対して指定できる属性は次のとおりです。
- 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:\*" />
キーの意味
キーは、baseで指定されたディレクトリを基準としたファイルの相対パスと照合するパターンです。これは階層型パターンであり、/
で区切られたパターンのセクションが、指定されたOSのファイル区切り記号で区切られたパスのセクションと照合されます。
サブエレメント
- Include
- Exclude
これらのエレメントに指定できる属性とサブエレメントの「include」と「exclude」の概要は、「変更監視ルールの言語」を参照してください。ここでは、FileSetエンティティセットクラスに関連するincludeおよびexcludeに固有の情報のみを記載します。
FileSetのincludeおよびexcludeに固有の属性
executable:ファイルが実行可能かどうかを判定します。これは、ファイルの権限がファイルの実行を許可していることを意味しません。ファイルの内容を確認するのではなく、プラットフォームに応じて、そのファイルが実行可能ファイルであるかどうかを決定します。
エージェントがファイルを開き、その内容の最初の1~2バイトを調べて有効な実行可能イメージヘッダを探す必要があるため、これは比較的負荷の高い処理です。すべてのファイルを開いて読み取ることは、単にディレクトリを検索し、ワイルドカードパターンに基づいてファイル名を照合するよりもはるかにコストがかかるため、実行可能ファイルを使用する包含ルールと除外ルールは、使用しない場合よりも検索時間が長くなります。