清除 LVM-LUKS (dm-crypt) 卷上的可用空间

清除 LVM-LUKS (dm-crypt) 卷上的可用空间

我的系统的三个分区是在 LUKS 分区 (dm-crypt) 上使用 LVM 创建的。它们是 /home、/ 和 swap。文件系统是 ext4。它们是加密的,因为它们在我的笔记本电脑上,我不希望某些笔记本电脑窃贼获取我的数据。但我经常与其他人共享我的笔记本电脑,这样他们就可以访问我的加密分区。我不希望这些人可以恢复我的缓存和我删除的所有数据。

因此,我现在试图擦除 /home 上的所有可用空间,以防止使用 photorec 之类的工具进行恢复。 (一次覆盖应该可以,需要多次覆盖只是传言)但我仍然没有找到成功擦除此可用空间的任何解决方案。 我试过 dd if=/dev/zero of=/home/fillitup bs=512 count=[count of free sectors] ,所以我的分区完全充满了数据。 df /dev/mapper/home 说已使用 100%,可用扇区为 0。 但是我仍然可以使用 photorec 恢复数千兆字节的数据,尽管我选择仅从可用空间中恢复。 photorec 显示: /dev/mapper/home - 340 GB / 317 GiB (RO),但 df 显示 /home 的大小只有 313G,为什么会有这些差异,340GB 又意味着什么?

看起来我的 /dev/mapper/home 分区上有一个地方我无法访问来覆盖,但我可以访问它来恢复。我还检查了损坏的扇区,但没有。也许这是我现有文件之间的空间?

有谁知道为什么我不能用 dd 擦除我的可用空间,以及如何找到大量可恢复文件的位置并安全地删除它们?

答案1

使用零填充所有可用空间的方法dd绝对有效。

也许它检测到您正在写入零,但实际上并没有写入它们(这会使文件变得稀疏)。尝试改为写入其他字节值?

dd if=/dev/zero bs=512 count=[count of free sectiors] | 
    tr \\000 \\001 >/home/fillitup

关于你括号中的评论“一次覆盖就够了,需要多次覆盖只是谣言”,这无论如何都不适用。所谓的一次覆盖不足与从媒体物理恢复数据有关。在那个级别,你的数据无论如何都是加密的,所以即使他们能从媒体中恢复位,那些位也是加密的。

答案2

可以考虑使用撕碎尝试销毁您创建的大文件。它将反复覆盖该文件。

如果你使用的是 SSD,则有如下命令弗斯特里姆通知底层控制器这些块不再使用,可以被垃圾收集(即擦除并准备重新使用)。

此外,如果您在设备上以较低级别工作,我知道 eMMC 设备支持安全擦除和安全 TRIM,它们会一直阻止直到块被完全擦除,因此不依赖内部 NAND 控制器在到达时擦除块。

相关内容