有许多文件粉碎程序可以用来永久删除一个文件。我想知道的是一些实现细节。例如,考虑到Gutmann算法,它应该如何与文件和文件系统一起使用?应用程序应该遍历所有硬盘集群以覆盖它们吗?或者,只需打开一个文件,以某种方式更改内容,然后将其删除即可!
反之亦然,如何恢复已删除的文件?我没有找到关于这些主题的大量信息。
我将非常感谢您的回复。
答案 0 :(得分:1)
您可以查看shred
实用程序的source code,该实用程序是Linux上的GNU核心工具的一部分。基本思想是对磁盘块进行多次传递。还有关于底层文件系统提交这些写入的方式的一些假设。有关详细信息,请参阅info coreutils 'shred invocation'
。
当您了解相关文件系统的内部布局以及如何在其上实施删除操作时,最好还原已删除的文件。例如,FAT文件系统的许多驱动程序只是将目录条目标记为已删除,但保留文件的内容。 (直到并且除非它被您创建的新文件覆盖)。因此,您可以直接转储磁盘并扫描原始数据以查找所需内容。