Shred
Shred
软件
软件描述
shred 是类 Unix 操作系统中的一个命令,可用于安全删除文件和设备,使其极难恢复,即使使用特殊硬件和技术也几乎无法实现;除非完全不可能恢复,而这种情况并非总是存在。
官方网站
访问软件的官方网站了解更多信息
www.gnu.org
什么是 Shred?
shred 是类 Unix 操作系统中的一个命令,可用于安全删除文件和设备,使其极难恢复,即使使用专用硬件和技术也几乎无法实现(有时甚至完全不可能)。它是 GNU Core Utilities 的一部分。shred 基于 Gutmann 方法论文,因此也面临相同的批评和潜在缺陷。
背景
更多信息:数据擦除
为提高效率,使用 rm 命令从存储中删除文件时,通常仅删除文件的文件系统条目,而保留文件内容。这常常使常用软件能够恢复“已删除”文件的数据。如果文件数据存储在磁性介质(如 HDD)上,即使文件被覆盖,残留的磁场仍可能通过专业硬件设备实现数据恢复(此说法存在争议;参见 Gutmann 方法 § 批评)。为防止这种情况,shred 会多次用特定模式覆盖文件内容,以最大限度破坏残留数据。
特性
shred 可用于普通文件或设备(如硬盘分区),在 Unix 中这些设备表现为文件。默认情况下,该命令使用多种模式对文件进行三次覆盖,但次数可由用户配置。它提供一个选项,在最后再用零值进行一次额外覆盖,有助于隐藏曾使用过该工具的事实。
默认情况下,shred 还会处理文件空隙(文件分配中未使用的空间)。例如,一个 5 KB 的文件在簇大小为 4 KB 的文件系统中实际需要 8 KB 存储空间。shred 提供选项,仅覆盖文件本身,以及在操作完成后删除文件。
局限性
当对普通文件调用 shred 时,其局限性在于仅在原地覆盖数据,而不覆盖文件的其他副本。副本可能以多种方式存在,如手动或自动备份、文件系统快照、写时复制文件系统、闪存驱动器的磨损均衡、缓存(如 NFS 缓存)以及日志记录等。所有这些文件系统限制均可通过直接对包含数据的所有设备进行擦除来克服。然而,由于磨损均衡设备不保证通过接口寻址的逻辑块与物理存储位置之间有固定对应关系,因此擦除可能无法提供充分安全保障。若可用,可通过 hdparm 等工具发出 SATA 安全擦除命令,此时可能更有效。即使对于磁性设备,SATA 安全擦除也比 shred 更快且更可靠。对于内存卡和损坏硬盘等设备,可能需要物理销毁才能确保安全擦除。
基于 Gutmann 方法的 shred 已知在 USB 闪存盘上失效。[2]
https://en.wikipedia.org/wiki/Shred_(Unix)
