Hard / SymLinks и альтернативные потоки данных

816
Andrew Lambert

Интересная мысль пришла мне в голову, когда я думал о NTFS.

NTFS поддерживает жесткие ссылки, символические ссылки и альтернативные потоки данных. Возможно ли, чтобы ADS был ссылкой на другой файл? И наоборот, принадлежат ли альтернативные потоки данных, присоединенные к ссылке, самой ссылке или данным базовой файловой системы?

5
Нет. NTFS поддерживает ссылки, _reparse points_ и несколько потоков данных. JdeBP 12 лет назад 0
@JdeBP Ложь. См. [Здесь] (http://support.microsoft.com/kb/105763) для получения дополнительной информации. soandos 12 лет назад 0
Указание на статью MSKB, в которой говорится, что, как и я, NTFS поддерживает несколько потоков данных, на самом деле не является доказательством лжи. И в статье КБ вообще ничего не сказано о повторных точках. Вот подсказка: вы не найдете статью MSKB, которая противоречит тому, что я написал, потому что то, что я написал, на самом деле не является ложным. ☺ JdeBP 12 лет назад 0
NTFS поддерживает все три, начиная с Windows Vista. Жесткие ссылки и объявления со времен Windows NT 3.1. Точки повторной обработки были введены в Windows 2000 с NTFS v3. (см. [здесь] (http://web.archive.org/web/20080506103326/http://msdn.microsoft.com/en-us/library/ms810604.aspx) и [здесь] (http: // en.wikipedia.org/wiki/NTFS)) Andrew Lambert 12 лет назад 0
@Amazed: Симлинки - это просто форма точек повторного анализа (несколько других форм - это точки соединения и точки монтирования). grawity 12 лет назад 2

2 ответа на вопрос

3
Marcel Nolte

I tried it. Here are my results:

> 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" 

The behavior indicates that the ADS is attached to the filesystem data and not the directory entry.

0
surfasb

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