硬/符号链接和备用数据流

And*_*ert 6 ntfs filesystems symbolic-link hardlink alternate-data-stream

在考虑 NTFS 时,我突然想到一个有趣的想法。

NTFS 支持硬链接、符号链接和备用数据流。ADS 是否有可能成为另一个文件的链接?相反,附加到链接的备用数据流是属于链接本身还是属于底层文件系统数据?

小智 5

我尝试过这个。这是我的结果:

> 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"
Run Code Online (Sandbox Code Playgroud)

该行为表明 ADS 附加到文件系统数据而不是目录条目。


sur*_*asb 0

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

AFAIK,这是不可能的。

备用数据流按字面意思指定文件的 MFT 条目中的备用数据属性。如果两个 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