MTREE(8) FreeBSD システム管理者マニュアル MTREE(8)
名称
mtree − ディレクトリ階層をマップする |
書式
mtree [−LPUcdeinqruxw] [−f spec] [−f spec] [−K keywords] [−k keywords] [−p path] [−s seed] [−X exclude-list] |
解説 |
mtree ユーティリティは、カレントディレクトリをルートとするファイル階層 を、標準入力から読み込んだファイル階層記述と比較します。その記述とマッチ しない特性をもつファイルや、実際のファイル階層あるいはファイル階層記述の いずれかから欠落しているファイルに関するメッセージを標準出力に出力しま す。 以下のオプションがあります: |
−L
ファイル階層のすべてのシンボリックリンクをたどります。 −P −U −c −d −e −i −n −q −r −u −w −x −f file 本オプションを 2 度指定すると、ファイル階層に対する比較の代りに、2 個の仕様が互いに比較されます。仕様は、 −c を使った出力のように整列 されます。この場合の出力書式は comm(1) を思い起させるものであり、そ れぞれ前にタブ 0 個、タブ 1 個、タブ 2 個を持つ、欄 "in first spec only", "in second spec only", "different" を持ちます。 "different" 欄の各エントリは 2 行を占め、各行がそれぞれの仕様用です。 −K keywords −k keywords −p path −s seed −X exclude-list ファイル階層記述は多くの場合、「キーワード」つまりファイルに関連した値を 指定する文字列から構成されます。どのキーワードにもデフォルト値はありませ ん。キーワードに値が設定されていない場合、そのキーワードに基づいたチェッ クは行われません。 現在サポートされているキーワードは以下の通りです: cksum flags ignore gid gname md5digest sha1digest ripemd160digest mode nlink nochange uid uname size link time type block デフォルトのキーワード集合は flags, gid, mode, nlink, size, link, time, uid です。 ファイル階層記述には 4 つのタイプの行があります。 1 つめのタイプの行はキーワードに大域的な値を設定するもので、文字列 ‘‘/set’’ とそれに続く空白、そしてキーワードとその値のペアの集合を空白で区 切ったものから構成されます。キーワードとその値のペアはキーワードとそれに 続く等号 (‘‘=’’)、そして値から成り、空白は含みません。一旦キーワードが設 定されると、再設定あるいは設定解除されるまでその値は変化しません。 2 つめのタイプの行はキーワードの設定を解除するもので、文字列 ‘‘/unset’’ とそれに続く空白、そして 1 つ以上のキーワードを空白で区切ったものから構成 されます。 3 つめのタイプの行はファイル記述を行うもので、ファイル名とそれに続く空 白、そして 0 個以上のキーワードと値のペアを空白で区切ったものから構成され ます。ファイル名の先頭には空白があっても構いません。ファイル名には標準的 なファイル名マッチング文字 (‘‘[’’, ‘‘]’’, ‘‘?’’, ‘‘*’’) が含まれていても よく、その場合、そのファイル階層に存在するファイルは、マッチする最初のパ ターンと関連づけられます。 各キーワードと値のペアはキーワードと等号 (‘‘=’’)、そしてそのキーワードの 値から構成され、空白は含みません。これらの値は、対応するキーワードの大域 的な値を変更しませんが、大域的な値に優先します。 パスは全て相対指定です。ディレクトリを指定すると、そのディレクトリ階層の 中で更にファイルが検索されます。これがファイル階層記述における 4 つめのタ イプの行です: 文字列 ‘‘..’’ だけが含まれる行は、カレントディレクトリパス を 1 レベル上に上げることを意味します。 空行および最初の非空白文字がハッシュ記号 (‘‘#’’) であるような行は無視され ます。 mtree は成功するとステータス 0 で終了し、何らかのエラーが生じると 1 で終 了します。また、ファイル階層がファイル階層記述とマッチしない場合はステー タス 2 で終了します。ただしオプション −U が指定されている場合は、ステータ ス 2 はステータス 0 に変換されます。 使用例 |
「トロイの木馬」に感染したシステムバイナリを検出するには、以下のように操 作することを推奨します。ファイルシステムに対して mtree −K sha1digest を実 行し、その結果のコピーを別マシンか、少なくとも暗号化した形式でストアしま す。出力ファイル自身は md5(1) ユーティリティを用いてダイジェストを作成し ます。そして定期的に mtree と md5(1) をオンラインのファイル階層記述に対し て走らせます。クラッカーが手を加えたバイナリに合わせてオンラインのファイ ル階層記述を変更することは可能ですが、オリジナルと同じ MD5 ダイジェストを もつ記述を作成するのは非現実的だと考えられています。 −d オプションおよび −u オプションを組み合わせると、ソフトウェア配布やそれ に類する処理のためにディレクトリ階層を作成するのに用いることができます。 /etc/mtree に置かれたファイル群は、この FreeBSD 配布のほとんど全てのディ レクトリを作成するのに用いられました。 |
関連ファイル
/etc/mtree
システムのファイル階層記述ディレクトリ 診断 |
ユーティリティ mtree は、成功すると 0 で、エラーがあった場合は >0 で終了 します。 |
関連項目
chflags(1), chgrp(1), chmod(1), cksum(1), md5(1), stat(2), fts(3), md5(3), chown(8) |
歴史
mtree ユーティリティは 4.3BSD−Reno で登場しました。 MD5 ダイジェスト機能 は、 cksum(1) をだますプログラムが広範囲に悪用されたのに対抗して FreeBSD 2.1 で追加されました。新たな攻撃により MD5 の弱さが示されたため、 SHA-1 と RIPEMD160 のダイジェスト機能が FreeBSD 4.0 で追加されました。 ファイルフラグのサポートは FreeBSD 4.0 で追加されました。このほとんどは NetBSD 由来です。 FreeBSD 10.0 January 11, 2004 FreeBSD 10.0 |