Go to main content
Oracle® Solaris 11.3 でのファイルのセキュリティー保護とファイル整合性の検証

印刷ビューの終了

更新: 2016 年 1 月
 
 

BART 目録、規則ファイル、およびレポート

このセクションでは、BART が使用して作成するファイルの形式について説明します。

BART 目録のファイル形式

目録ファイルの各エントリは、ファイルタイプに応じて単一の行に示されます。各エントリは、ファイルの名前である fname で始まります。ファイル名に使用された特殊文字の解析によって起きる問題を防ぐため、ファイル名はエンコードされます。詳細は、BART 規則ファイルの書式を参照してください。

後続のフィールドは、次のファイル属性を表します。

type

ファイルの種類であり、次のような値となります。

  • B: ブロックデバイスノード

  • C: キャラクタデバイスノード

  • D: ディレクトリ

  • F: ファイル

  • L: シンボリックリンク

  • P: パイプ

  • S: ソケット

size

ファイルサイズ (バイト)。

mode

ファイルのアクセス権を示す 8 進の数値。

acl

ファイルの ACL 属性。ACL 属性を持つファイルの場合、acltotext() の出力が入ります。

uid

このエントリの所有者の、数値で示したユーザー ID。

gid

このエントリの所有者の、数値で示したグループ ID。

dirmtime

ディレクトリに最後に変化が起きた時点。1970 年 1 月 1 日の 00:00:00 UTC から数えた秒数で示されます。

lnmtime

リンクに最後に変化が起きた時点。1970 年 1 月 1 日の 00:00:00 UTC から数えた秒数で示されます。

mtime

ファイルに最後に変化が起きた時点。1970 年 1 月 1 日の 00:00:00 UTC から数えた秒数で示されます。

contents

ファイルのチェックサム値。この属性が指定されるのは通常ファイルのみです。コンテキストのチェックを無効にした場合や、チェックサムを計算できない場合、このフィールドの値は - になります。

dest

シンボリックリンクのリンク先。

devnode

デバイスノードの値。この属性が使用されるのは、キャラクタデバイスファイルとブロックデバイスファイルのみです。

詳細は、bart_manifest(4) のマニュアルページを参照してください。

BART 規則ファイルの書式

規則ファイルは、どのファイルを目録に含めるかや、どのファイル属性を目録またはレポートに含めるかを指定する行で構成されたテキストファイルです。#、空の行、空白を含む行は、ツールが無視します。

    入力ファイルには、次に示す 3 種類の指示語が指定されます。

  • オプションのパターンマッチング修飾子を持つ subtree 指示語

  • CHECK 指示語

  • IGNORE 指示語

使用例 11  規則ファイルの書式
<Global CHECK/IGNORE Directives>
<subtree1> [pattern1..]
<IGNORE/CHECK Directives for subtree1>

<subtree2> [pattern2..]
<subtree3> [pattern3..]
<subtree4> [pattern4..]
<IGNORE/CHECK Directives for subtree2, subtree3, subtree4>

注 - すべての指示語が順番に読み取られます。あとの指示語で前の指示語をオーバーライドすることができます。

subtree 指示語は絶対パス名で始まり、そのあとに 0 個以上のパターンマッチング文が続く必要があります

BART 規則ファイルの属性

CHECK 文と IGNORE 文は、どのファイル属性を追跡または無視するかを定義します。各目録を開始するメタデータによって、ファイルタイプごとの属性のキーワードが一覧表示されます。使用例 7を参照してください。

all キーワードは、すべてのファイル属性を示します。

BART 引用構文

BART が規則ファイルに使用する記述言語は、標準に準拠していないファイル名を表現する標準の UNIX 引用構文です。埋め込まれたタブ、スペース、改行、特殊文字は、ツールがファイル名を読み取ることができるようにそれらの 8 進形式にエンコードされます。この変動的な引用構文では、埋め込みのキャリッジリターンを含むファイル名などがコマンドパイプラインで正しく処理されません。規則記述言語を使用することで、シェル構文だけでは表現が難しい効率の悪い複雑なファイル名フィルタリング基準を表現できます。

詳細は、bart_rules(4) のマニュアルページを参照してください。

BART レポート

デフォルトモードでは、BART レポートは、変更されたディレクトリのタイムスタンプ (dirmtime) を除く、システム上にインストールされたすべてのファイルをチェックします。

CHECK all
IGNORE	dirmtime

規則ファイルを指定すると、汎用指示語である CHECK allIGNORE dirmtime がこの順で規則ファイルの先頭に自動的に付けられます。

BART の出力

次の終了ステータスが返されます。

0

成功

1

ファイル処理時の致命的でないエラー (アクセス権問題など)

>1

致命的なエラー (無効なコマンド行オプションなど)

    レポーティングメカニズムとして、詳細出力と、プログラムを考慮した出力の 2 種類を利用できます。

  • 詳細出力はデフォルトの出力であり、地域対応化され、複数の行にわたって表示されます。詳細出力は国際化されたもので、ユーザーが内容を読み取ることができます。bart compare コマンドは、2 つのシステム目録を比較する時に、ファイル間の相違を示すリストを生成します。

    出力の構造は次のとおりです。

    filename attribute control:control-val test:test-val
    filename

    制御目録とテスト目録で相違があるファイルの名前。

    attribute

    比較される目録間で異なるファイル属性の名前。test-val の前に control-val が来ます。同じファイルの複数の属性に相違が見つかった場合、別々の行にそれぞれの相違が示されます。

    次に、/etc/passwd ファイルの属性の違いの例を示します。この出力から、sizemtime、および contents 属性に変化があったことがわかります。

    /etc/passwd:
    size	control:74	test:81
    mtime control:3c165879	test:3c165979
    contents	control:daca28ae0de97afd7a6b91fde8d57afa
    test:84b2b32c4165887355317207b48a6ec7
  • bart compare コマンドの –p オプションを使用すると、プログラムを考慮した出力が生成されます。この出力は、プログラムでの操作に適しています。

    出力の構造は次のとおりです。

    filename attribute control-val test-val [attribute control-val test-val]*
    filename

    デフォルト形式における filename 属性に同じ

    attribute control-val test-val

    各ファイルの制御目録とテスト目録間で異なるファイル属性の説明

bart コマンドでサポートされる属性の一覧については、BART 規則ファイルの属性を参照してください。

詳細は、bart(1M) のマニュアルページを参照してください。