首页 > 解决方案 > 我想以某种方式获得Linux中文件的唯一标识符,有什么想法吗?

问题描述

我想以某种方式获得Linux中文件的唯一标识符,以便可以将其输入到哈希函数中以生成索引,唯一ID永远不会改变,有什么想法吗?

更多详细信息:我想创建一个文件完整性程序,以检查文件是否已被更改。我将使用一个哈希表来存储文件的密钥及其相应的校验和。我需要一个永远不会改变的文件的唯一标识符,因为我需要将它输入到我的哈希函数中,该函数会为该文件生成索引到哈希表中,然后我可以重新生成文件的校验和,看看它是否已经改变了已存储。

如果 UI 发生变化,我无法在表中找到文件的校验和。如果我使用文件名作为 UI,我将不得不假设恶意用户没有更改它。

标签: linuxfileuniqueidentifier

解决方案


你能得到的最接近的东西是一个 inode,但即使这样也可能会出现问题。例如,某些文本编辑器可能会删除文件然后重写它。不过,您可能希望扭转您的问题。不要保留文件名、路径或 inode 的索引并检查文件的新哈希是否与索引中的哈希匹配,而是保留哈希索引和每个哈希的文件路径。然后在重新散列文件系统后确定索引中不再存在哪些散列,您将获得已更改文件的列表。


推荐阅读