【问题标题】:Unique file identifiers on NTFS and $Object_IDNTFS 和 $Object_ID 上的唯一文件标识符
【发布时间】:2010-10-08 16:44:40
【问题描述】:

从我在网上找到的文章来看,NTFS 上的文件似乎有两种形式的唯一标识符:

$OBJECT_ID – 这是一个包含 ID 的属性。此 ID 由分布式链接跟踪服务使用。在快捷方式中可以找到如何使用它的示例。在桌面上创建一个指向文件的快捷方式。然后移动那个文件。该快捷方式仍然有效,因为它使用了一种方法来附加源文件,而不仅仅是路径和文件名。

并非所有文件都有 $OBJECT_ID 属性。事实上,直到一个实际的 ID 被分配,该属性才被添加到文件中。

我试图了解对象 ID 的设置时间。这里有几个问题:

  1. 什么时候分配对象 ID?根据上述文章,在一种情况下,当创建文件的快捷方式时会出现这种情况。

  2. 当一个文件引用另一个文件时,是否会自动分配对象 ID,例如嵌入 Visio 图表的 Word 文档?

  3. 是否仅在启用/运行分布式链接跟踪时才分配对象 ID,还是无论分布式链接跟踪如何,它们都存在?

  4. 如果我想跟踪文件的唯一标识符,那么使用对象 ID(64 字节)而不是组合卷序列号和文件索引(低/高)(12 字节)对我有什么好处吗?结合起来。

谢谢,伊兰

【问题讨论】:

    标签: windows file filesystems ntfs


    【解决方案1】:

    这一切都取决于你想要做什么。 :)

    文件索引号,如documentation says,实际上只是 NTFS 中文件的一个很好的标识符(与 FAT 相反),但即使这样,如果文件被删除并重新创建(想想备份/恢复),它也可能会改变),但如果您想区分这些,您实际上可能会认为这是一种奖励。

    最好不要担心与对象 ID 相关的链接跟踪服务,而是将它们视为您可以使用的东西 create/set/read,尽管同样仅在 NTFS 中。

    对象 ID 有一些开销,而文件 ID 则没有。对于大多数应用程序,我最终可能会选择文件参考号(即使它们可能很脆弱)。

    【讨论】:

    • 文件参考号是什么意思?你指的是NTFS中的文件索引吗?
    • 文件参考号是赋予文件的 ID。您提到的两个字段(低/高文件索引值)的组合是文件参考号。 “索引”是指一组文件。
    【解决方案2】:

    我想我会把它放在这里给像我这样研究FRNOBJECTIDs 的人。对于单个文件系统上的目录(文件恢复除外),这些 ID 可能是稳定的,但一旦您使用许多不同的应用程序保存和关闭文件,FRN 和 ObjectID 都会发生变化。

    例如,如果您打开一个带有 FRN#: 1000 的 Word 文件,并且您指定了 OBJECTID: 8675309,那么当您进行更改时,保存并关闭它。 FRN# 将是一个新编号,并且不会有 ObjectID。

    下面我做了一个简单的打开,更改段落中的文本,保存和关闭一个word文件。有超过 52 个事件,在我的程序中,我已经过滤掉了所有涉及的 ~WRL*tmp 文件等。但即使在具有相同文件的相同文件系统上,FRN 也不是一成不变的东西。我目前没有显示 ObjectID,但请相信我,当您分配一个,打开此文件并保存它时,它本质上是一个新文件。

    示例 USN 日志输出,第一个数字是文件参考号,第二个是父文件参考号(固定目录的 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
    ----------------------------------------------------------------------------------------------------
    

    【讨论】:

    • ID 改变只是因为应用程序选择将内容保存为新文件,删除旧文件并将新文件重命名为旧文件。在任何操作系统和文件系统上都是如此。只有在您写入同一个文件的情况下才能保留 ID
    猜你喜欢
    • 2012-04-25
    • 1970-01-01
    • 1970-01-01
    • 2018-09-26
    • 2021-10-30
    • 1970-01-01
    • 1970-01-01
    • 2013-02-19
    • 2013-11-19
    相关资源
    最近更新 更多