ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
マニュアルページセクション 1M: システム管理コマンド Oracle Solaris 11.1 Information Library (日本語) |
- ファイル整合性スキャナおよびレポータ
/usr/bin/bart create [ -n] [-R root_directory] [-r rules_file | -]
/usr/bin/bart create [-n] [-R root_directory] -I [file_name]...
/usr/bin/bart compare [-i attribute ] [-p] [-r rules_file | -] control-manifest test-manifest
bart(1M) は、暗号強度チェックサムおよびファイルシステムメタデータを使用して変更を報告する、ルールベースのファイル整合性スキャンおよびレポートツールです。
bart ユーティリティーは、次の 2 つの基本機能を実行します。
これは目録生成ツールで、システムのファイルレベルのスナップショットを取得します。出力は、「マニフェスト」と呼ばれるファイル属性のカタログです。bart_manifest(4) を参照してください。
カタログ化するファイルのリストを指定するには、3 つの方法があります。1 つ目はオプションなしの bart create を使用する方法、2 つ目はコマンド行にファイル名を指定する方法、3 つ目は監視対象のファイルを指定する指示語を含む規則ファイルを作成する方法です。bart_rules(4) を参照してください。
デフォルトでは、目録生成ツールはルート (/) ファイルシステムに含まれるすべてのファイルのすべての属性をカタログ化します。ルートファイルシステムにマウントされたファイルシステムは、ルートファイルシステムと同じ種類である場合にのみカタログ化されます。
たとえば、/、/usr、および /opt は別個の UFS ファイルシステムです。/usr と /opt は / にマウントされています。したがって、これら 3 つのファイルシステムはすべてカタログ化されます。しかし、/tmp は / にマウントされていますが、TMPFS ファイルシステムであるためカタログ化されません。マウントされた CD-ROM は、HSFS ファイルシステムであるためカタログ化されません。
これはレポートツールで、2 つの目録を比較します。出力は、ファイルごとに属性の相違を示したリストです。これらの相違は、制御目録とテスト目録という 2 つの目録の相違です。
「相違」とは、両方の目録でカタログ化されている特定のファイルの属性に対する変更です。目録に追加されたファイルや目録から削除されたファイルは、相違として報告されます。
レポーティングメカニズムとして、詳細出力と、プログラム的な出力の 2 種類を利用できます。詳細出力は、ローカライズされ、複数の行にわたって表示されます。プログラム的な出力は、ほかのプログラムで解析しやすい形式です。「出力」を参照してください。
デフォルトでは、レポートツールは詳細出力を生成し、変更されたディレクトリのタイムスタンプ (dirmtime 属性) を除くすべての相違を報告します。
一貫性のある正確な比較結果を得るためには、同じ規則ファイルを使って制御目録 (control-manifest) とテスト目録 (test-manifest) を作成する必要があります。
目録を作成したり、2 つの目録を比較したりするときに、指定したファイルまたはサブツリーを無視するには、規則ファイルを使用します。ユーザーは、異なる規則ファイルを指定して bart compare を再実行することにより、異なる観点で目録を比較できます。bart_rules(4) および bart_manifest(4) を参照してください。
bart_rules という規則ファイルを使って、追跡するファイルやフラグを付ける相違の種類を指定することもできます。
サポートしているオプションは、次のとおりです。
グローバルに無視するファイル属性を指定します。属性をコンマ区切りリストとして指定します。
このオプションを使用すると、規則ファイルのグローバルな IGNORE キーワードにファイル属性を指定した場合と同じ動作になります。bart_rules(4) を参照してください。
ファイルの入力リストを指定します。このファイルリストは、コマンド行に指定することも、標準入力から読み取ることもできます。
ファイルリストに挙げられたすべての通常ファイルのコンテンツ署名を計算しないようにします。
プログラムでの解析に適した「プログラム的なモード」で目録比較出力を表示します。出力はローカライズされません。
rules_file を使って、カタログ化するファイルおよびディレクトリを指定し、フラグを付けるファイル属性の相違を定義します。rules_file が - である場合は、標準入力から規則が読み取られます。構文の定義については、bart_rules(4) を参照してください。
目録のルートディレクトリを指定します。規則に指定するパスも、目録で報告されるパスも、すべて root_directory からの相対パスです。
注 - いかなる非大域ゾーンのルートファイルシステムも -R で参照しないでください。この操作によって、大域ゾーンのファイルシステムを損傷したり、大域ゾーンのセキュリティを損ねたり、非大域ゾーンのファイルシステムを損傷する可能性があります。zones(5) を参照してください。
ファイル内容のハッシュに使用する暗号化ダイジェストアルゴリズムを指定します。現在サポートされている値は、md5、sha1、sha256、sha512 です。-a を指定しない場合は、sha256 が使用され、どのハッシュアルゴリズムが使用されるかを示す Version 1.1 マニフェストが作成されます。md5 を指定した場合は、Version 1.0 マニフェストが作成されます。
bart では、オペランドを引用符で囲むことができます。これは、指定するサブツリーやサブツリー修飾子にスペースが含まれる場合に特に重要です。
次のオペランドがサポートされています。
制御システム上で bart create によって作成された目録を指定します。
テストシステム上で bart create によって作成された目録を指定します。
bart create および bart compare コマンドは、出力を標準出力に書き出し、エラーを標準エラーに書き出します。
bart create コマンドは、システム目録を生成します。bart_manifest(4) を参照してください。
bart compare コマンドは、2 つのシステム目録を比較するときに、ファイル間の相違を示すリストを生成します。デフォルトでは、比較出力はローカライズされます。ただし、-p オプションを指定すると、プログラムで操作するのに適した形式で出力が生成されます。
filename attribute control:xxxx test:yyyy
control-manifest と test-manifest で異なるファイルの名前。スペース文字や改行文字が含まれているファイル名については、bart_manifest(4) を参照してください。
比較された目録間で相違があるファイル属性の名前。xxxx は control-manifest の属性値であり、yyyy は test-manifest の属性値です。同じファイルの複数の属性に相違が見つかった場合、別々の行にそれぞれの相違が示されます。
サポートされている属性は次のとおりです。
ファイルの ACL 属性。ACL 属性を持つファイルの場合、このフィールドには acltotext() の出力が入ります。
すべての属性。
ファイルのチェックサム値。この属性が指定されるのは通常ファイルのみです。コンテキストのチェックを無効にした場合と、チェックサムが計算できない場合は、このフィールドの値は - になります。
シンボリックリンクのリンク先。
デバイスノードの値。この属性が使用されるのは、キャラクタデバイスファイルとブロックデバイスファイルのみです。
ディレクトリに変化が起きた時点。1970 年 1 月 1 日の 00:00:00 UTC から数えた秒数で示されます。
このエントリの所有者の、数値で示したグループ ID。
リンクが作成された時点。
ファイルのアクセス権を示す 8 進の数値。
ファイルに変化が起きた時点。1970 年 1 月 1 日の 00:00:00 UTC から数えた秒数で示されます。
ファイルサイズ (バイト)。
ファイルの種類。
このエントリの所有者の、数値で示したユーザー ID。
次のデフォルト出力は、/etc/passwd ファイルの属性の相違を示しています。この出力から、size、mtime、および contents 属性に変化があったことがわかります。
/etc/passwd: size control:74 test:81 mtime control:3c165879 test:3c165979 contents control:daca28ae0de97afd7a6b91fde8d57afa test:84b2b32c4165887355317207b48a6ec7
filename attribute control-val test-val [attribute control-val test-val]*
デフォルト形式の filename と同じです。
各ファイルの制御目録とテスト目録間で異なるファイル属性の説明。各エントリには、各目録の属性値が含まれます。属性の定義については、bart_manifest(4) を参照してください。
プログラム的な出力の各行には、1 つのファイルに含まれるすべての属性の相違が示されます。
プログラム的な次の出力は、/etc/passwd ファイルの属性の相違を示しています。この出力から、size、mtime、および contents 属性に変化があったことがわかります。
/etc/passwd size 74 81 mtime 3c165879 3c165979 contents daca28ae0de97afd7a6b91fde8d57afa 84b2b32c4165887355317207b48a6ec7
目録生成ツールは、次の終了値を返します。
成功
ファイル処理時の致命的でないエラー (アクセス権の問題など)
致命的エラー (無効なコマンド行オプションなど)
レポートツールは、次の終了値を返します。
相違は報告されませんでした
相違が見つかりました
比較実行中の致命的エラー
例 1 チェックサムを計算せずにデフォルトの目録を作成する
次のコマンド行は、/ ファイルシステムに含まれるすべてのファイルで構成されるデフォルトの目録を作成します。-n オプションを指定すると、チェックサムが計算されないため、目録がより速く生成されます。
bart create -n
例 2 指定したサブツリーの目録を作成する
次のコマンド行は、/home/nickiso サブツリーに含まれるすべてのファイルで構成される目録を作成します。
bart create -R /home/nickiso
例 3 標準入力を使って目録を作成する
次のコマンド行は、find(1) コマンドの出力を使って、カタログ化するファイルのリストを生成します。-I オプションを指定した bart create コマンドの入力として、find の出力が使用されています。
find /home/nickiso -print | bart create -I
例 4 規則ファイルを使って目録を作成する
次のコマンド行は、rules という規則ファイルを使って、カタログ化するファイルを指定します。
bart create -r rules
例 5 2 つの目録を比較し、プログラム的な出力を生成する
次のコマンド行は、2 つの目録を比較し、プログラムで解析するのに適した出力を生成します。
bart compare -p manifest1 manifest2
例 6 2 つの目録を比較し、無視する属性を指定する
次のコマンド行は、2 つの目録を比較します。dirmtime、lnmtime、および mtime 属性は比較されません。
bart compare -i dirmtime,lnmtime,mtime manifest1 manifest2
例 7 規則ファイルを使って 2 つの目録を比較する
次のコマンド行は、rules という規則ファイルを使って 2 つの目録を比較します。
bart compare -r rules manifest1 manifest2
属性についての詳細は、マニュアルページの attributes(5) を参照してください。
|
cksum(1), digest(1), find(1), bart_manifest(4), bart_rules(4), attributes(5)
特定のシステムライブラリのファイル属性は、システムのブート時に一時的に変更されることがあります。誤った警告が発生しないようにするには、2 つの目録が作成されたときのシステムの状態が同じ場合、つまり、どちらもシングルユーザーモードで作成された場合か、どちらもマルチユーザーモードで作成された場合にのみ、目録を比較するようにしてください。