NTFSの副次ストリーム

http://www.ipa.go.jp/security/awareness/vendor/programming/b08_03_main.htmlより。NTFSにこんな機能があったとは。

ファイルシステムのファイルといえば「一つのいれもの」としてしばしば捉えられるが,実はNTFS のファイルはそれ以上の収容能力を持っている。NTFS のファイルは一つのファイルの下に複数のデータストリームを保持できるのである。いわば「ファイルの中に複数のファイルがある」といった構図だ

ふだんわれわれがデータをファイルに保存するとき,NTFS のファイルがもつことのできるデータストリームのうち一つしか使っていないのである。

プログラムからはNTFSのファイルの各ストリームに対して入出力を行うことができる。ここのストリームは次のような形式のパス名で識別される。

d:\dir\file.ext:stream

(ここに,d:\dir\ = ディレクトリ,file.ext = ファイル名,stream = ストリーム名 である)

すなわち,ファイル名の後ろにコロン(:)で区切ってストリーム名をつければよい。

(中略)Macintoshに対するファイルサーバ機能や,Windows 2000で各ファイルにさまざまなプロパティを記録できる機能がその少ない実例である。