Уникальные идентификаторы файлов в NTFS и $ Object_ID - PullRequest
5 голосов
/ 08 октября 2010

Из статей, которые я нашел в Интернете, представляется, что существует две формы уникальных идентификаторов для файлов в NTFS:

$ OBJECT_ID - это атрибут, который содержитЯ БЫ.Этот идентификатор используется службой отслеживания распределенных ссылок.Пример его использования можно найти в ярлыках.Сделайте ярлык на рабочем столе, который указывает на файл.Затем переместите этот файл.Ярлык по-прежнему будет работать, поскольку он использует способ привязки исходного файла, а не только путь и имя файла.

Не все файлы будут иметь атрибут $ OBJECT_ID.На самом деле, только когда нужно присвоить фактический идентификатор, атрибут добавляется в файл.

Я пытаюсь понять, когда установлен идентификатор объекта.Вот несколько вопросов:

  1. Когда назначается идентификатор объекта?На основании вышеприведенной статьи может показаться, что в одном сценарии это происходит при создании ярлыка для файла.

  2. Назначается ли идентификатор объекта автоматически, когда файл ссылается на другой файл, напримердокумент Word, в который встроена диаграмма Visio?

  3. Назначаются ли идентификаторы объектов только при включенном / включенном отслеживании распределенных ссылок или они существуют независимо от отслеживания распределенных ссылок?

  4. Если бы я хотел отследить уникальный идентификатор файла, было бы для меня какое-либо преимущество в использовании идентификатора объекта (64 байта) по сравнению с объединенным серийным номером тома и индексом файла (низкий / высокий), которые составляют 12 байтов.

Спасибо, Elan

Ответы [ 2 ]

4 голосов
/ 12 октября 2010

Все зависит от того, что вы пытаетесь сделать. :)

Индекс файла, как указано в документации , действительно является хорошим идентификатором файла в NTFS (в отличие от FAT), но даже в этом случае он может измениться, если файл будет удален и создан заново. (подумайте о резервном копировании / восстановлении), хотя на самом деле вы можете считать это бонусом, если вы хотите их различить.

Вероятно, лучше не беспокоиться о службе отслеживания ссылок в отношении идентификаторов объектов, а вместо этого думать о них как о чем-то, что вы можете создать / установить / прочитать , хотя опять-таки только в NTFS.

Идентификаторы объектов имеют некоторые издержки, а идентификаторы файлов - нет. Для большинства приложений я бы, вероятно, выбрал ссылочные номера файлов (даже если они потенциально хрупкие).

2 голосов
/ 11 июля 2014

Понял, я бы поставил это здесь для других, таких как я, исследующих FRN и OBJECTID s. Эти идентификаторы могут быть стабильными для каталогов (кроме восстановления файлов) в одной файловой системе, но FRN и ObjectID изменятся, как только вы сохраните и закроете файл со многими различными приложениями.

Например, если вы открываете файл Word с номером FRN #: 1000 и вам присвоено значение OBJECTID: 8675309, при внесении изменения сохраните и закройте его. FRN # будет новым номером и не будет ObjectID.

Далее я сделал простое открытие, внесение изменений в текст в абзаце, сохранение и закрытие файла слова. В моей программе более 52 событий, я отфильтровал все вовлеченные ~WRL*tmp файлы и т. Д. Но даже в одной файловой системе с одинаковыми файлами FRN не является постоянной вещью. У меня нет ObjectID, показывающего в данный момент, но поверьте мне, когда вы назначаете его, открываете этот файл и сохраняете его, это по сути новый файл.

Пример выходного файла USN Journal с первым номером - это номер ссылки на файл, второй - номер ссылки на родительский файл (FRN для стабильного каталога)

viewchanges
562949953421470    | 2251799813685402   | FILE  | 7/10/2014 8:12:13 PM      | \MyDemo\WordFileDemo.docx
                                                  OBJECT ID CHANGE
----------------------------------------------------------------------------------------------------
562949953421470    | 2251799813685402   | FILE  | 7/10/2014 8:12:13 PM      | \MyDemo\WordFileDemo.docx
                                                  OBJECT ID CHANGE
                                                  CLOSE
----------------------------------------------------------------------------------------------------
562949953421470    | 2251799813685402   | FILE  | 7/10/2014 8:12:19 PM      | \MyDemo\WordFileDemo.docx
                                                  RENAME OLD NAME
----------------------------------------------------------------------------------------------------
1125899906842780   | 2251799813685402   | FILE  | 7/10/2014 8:12:19 PM      | \MyDemo\WordFileDemo.docx
                                                  SECURITY CHANGE
                                                  RENAME NEW NAME
                                                  BASIC INFO CHANGE
                                                  OBJECT ID CHANGE
----------------------------------------------------------------------------------------------------
1125899906842780   | 2251799813685402   | FILE  | 7/10/2014 8:12:19 PM      | \MyDemo\WordFileDemo.docx
                                                  SECURITY CHANGE
                                                  RENAME NEW NAME
                                                  BASIC INFO CHANGE
                                                  OBJECT ID CHANGE
                                                  CLOSE
----------------------------------------------------------------------------------------------------
1125899906842780   | 2251799813685402   | FILE  | 7/10/2014 8:12:19 PM      | \MyDemo\WordFileDemo.docx
                                                  SECURITY CHANGE
----------------------------------------------------------------------------------------------------
1125899906842780   | 2251799813685402   | FILE  | 7/10/2014 8:12:19 PM      | \MyDemo\WordFileDemo.docx
                                                  SECURITY CHANGE
                                                  CLOSE
----------------------------------------------------------------------------------------------------
1125899906842780   | 2251799813685402   | FILE  | 7/10/2014 8:12:19 PM      | \MyDemo\WordFileDemo.docx
                                                  OBJECT ID CHANGE
----------------------------------------------------------------------------------------------------
1125899906842780   | 2251799813685402   | FILE  | 7/10/2014 8:12:19 PM      | \MyDemo\WordFileDemo.docx
                                                  OBJECT ID CHANGE
                                                  CLOSE
----------------------------------------------------------------------------------------------------
1125899906842780   | 2251799813685402   | FILE  | 7/10/2014 8:12:19 PM      | \MyDemo\WordFileDemo.docx
                                                  RENAME OLD NAME
----------------------------------------------------------------------------------------------------
1125899906842781   | 2251799813685402   | FILE  | 7/10/2014 8:12:19 PM      | \MyDemo\WordFileDemo.docx
                                                  SECURITY CHANGE
                                                  RENAME NEW NAME
                                                  BASIC INFO CHANGE
                                                  OBJECT ID CHANGE
----------------------------------------------------------------------------------------------------
1125899906842781   | 2251799813685402   | FILE  | 7/10/2014 8:12:19 PM      | \MyDemo\WordFileDemo.docx
                                                  SECURITY CHANGE
                                                  RENAME NEW NAME
                                                  BASIC INFO CHANGE
                                                  OBJECT ID CHANGE
                                                  CLOSE
----------------------------------------------------------------------------------------------------
1125899906842781   | 2251799813685402   | FILE  | 7/10/2014 8:12:19 PM      | \MyDemo\WordFileDemo.docx
                                                  SECURITY CHANGE
----------------------------------------------------------------------------------------------------
1125899906842781   | 2251799813685402   | FILE  | 7/10/2014 8:12:19 PM      | \MyDemo\WordFileDemo.docx
                                                  SECURITY CHANGE
                                                  CLOSE
----------------------------------------------------------------------------------------------------
...