質問: お世話になります。Windows系OSの知識を深めたいと考えている者です。 FATやNTFSでどうしてもわからないことがあります。 御存知の方がおられたら教えて頂けないでしょうか。 UNIX系OS(iノードと呼ばれるファイル管理システムが用いられています)で 管理されるファイルには、iノード番号と呼ばれる情報があります。 UNIXのコマンドで ls -ali と入力すれば確認できる情報で、UNIX上にファイルを最初に作成した時に OSが割り当てるユニークな番号です。 iノード番号は通常の場合はあまり意識しませんが、 悪意のある改ざんをチェックしたりする際に用いられます。 どういうことかというと、 例えばファイルAのサイズが1KB、最終更新日時が10月4日22時22分だと仮定します。 もし悪意のある人がいて、このファイルAを改ざんしようとしたとします。 パソコンで「ファイルのサイズが1KB、最終更新日時が10月4日22時22分」だけれども ファイルの内容はUNIX上のファイルAと異なるものを作成し、 パソコンでtar等でアーカイブし、それをUNIXに転送し、解凍したものを UNIX上の本来あるべきファイルAを上書きしたとします。 このようなことを行うと、ファイルサイズやタイムスタンプからは 改ざんが行われたかどうかは確認できませんが、 iノード番号が全く別のものになってしまいます。 (上書きした時点でファイルAの iノード番号が新しいものになります。 UNIX系OS用に Tripwire等の改ざんチェックソフトもありますが、 Tripwire も自分で試したことはありませんが iノード番号をチェックしていると 教えてもらったことがあります。) 説明が長くなりましたが、 (1)FATやNTFSで管理されるファイルに、iノード番号に相当する情報はあるでしょうか? (2)もしあるなら、どのような方法(DOSコマンドや専用ツール等)で確認できるでしょうか? 以上よろしくお願いします。
回答: 1)FATにはありませんがNTFSだとMTFのエントリ番号がそれに当たるのではないかと。 NTFSにおけるハードリンクはMFT内の該当エントリに別の$FILE_NAMEアトリビュートを追加することで実現しています。 2)Autospyかな。