web-dev-qa-db-ja.com

ハード/シンボリックリンクと代替データストリーム

NTFSについて考えているときに、興味深い考えが浮かびました。

NTFSは、ハードリンク、シンボリックリンク、および代替データストリームをサポートします。 ADSを別のファイルへのリンクにすることは可能ですか?逆に、リンクに接続されている代替データストリームは、リンク自体に属しているのですか、それとも基になるファイルシステムデータに属しているのですか?

5
Andrew Lambert

Is it possible for an ADS to be a link to another file?

AFAIK、これは不可能です。

代替データストリームは、ファイルのMFTエントリで文字通り代替データ属性を指定します。 2つのMFTエントリが両方とも同じクラスタに指定されている場合、これは実行できません。

Conversely, do the Alternate Data Streams attached to a link belong to the link itself or to the underlying filesystem data?

代替データストリームは、リンク自体ではなくMFTに記録されます(ディレクトリエントリを意味すると想定しています)。

http://technet.Microsoft.com/en-us/library/cc976808.aspx

0
surfasb

私はそれを試してみました。これが私の結果です:

> echo "test" > test.txt
> echo "ads of test" > test.txt:myads
> mklink /H test2.txt test.txt
  Feste Verknüpfung erstellt für test2.txt <<===>> test.txt
                    # In English: Hard link created for test2.txt
> more < test2.txt:myads
  "ads of test"
> mklink test3.txt test.txt
  symbolische Verknüpfung erstellt für test3.txt <<===>> test.txt
                    # In English: symbolic link created for test3.txt
> more < test3.txt:myads
  "ads of test"

この動作は、ADSがディレクトリエントリではなくファイルシステムデータに添付されていることを示しています。

3
Marcel Nolte