覆盖文件以掩盖其数据内容
shred [-fuvxz] [-n num] [-s num] [--random-source=file] files
shred [--help] [--version]
利用shred命令,可以重复地覆盖指定的文件,以隐藏或清除其数据内容,也可以选择在覆盖之后再删除文件,从而增加恢复文件数据的难度,确保信息的安全。其中,files是需要覆盖的一个或一组文件。
通常,当删除一个文件时,文件系统仅仅修改信息节点位图和数据块位图,释放信息节点和文件占用的数据块。如果释放的存储空间没有重新分配,其数据仍然存在。因此,为保险起见,最好是利用shred命令,覆盖文件,或覆盖后再删除文件。
-f, --force 必要时修改文件的访问权限,以允许写文件。
-n num, --iterations=num 覆盖文件指定的次数(默认覆盖文件3次)。实际上,指定的覆盖次数不应超过25次,超过25次将会重复使用其内部的覆盖模式。
-s num, --size=num 粉碎指定字节数量的数据,指定的数字后面可加K(1024)、M(10242)或G(10243)等后缀,表示相应的字节单位。
-u, --remove 覆盖后再截短,最后删除文件。注意,如果文件是一个硬链接文件,只能删除指定的文件。
-v, --verbose 显示命令的处理过程。
-x, --exact 通常,shred会覆盖分配给文件的所有数据块,即使分配的最后一个数据块并未完全占用。“-x”选项表示仅仅处理文件数据本身占用的存储空间,不要扩展到最后一个数据块的空余部分。例如,假定一个文件的数据只有1KB,文件系统分配的数据块是4KB,常规的做法是覆盖整个4KB的数据块,如果指定了“-x”选项,仅仅覆盖数据块的前1KB存储空间。
-z, --zero 在指定(或默认)覆盖次数的基础上,最后再用全零做一次覆盖,以掩盖先前经过粉碎处理的数据。
--random-source=file 从指定的文件中获取随机数据。
1. 使用shred命令覆盖软盘/dev/fd0中的所有数据(通常这需要花费较长的时间)。
$ shred -v /dev/fd0
2. 使用shred命令覆盖磁盘分区/dev/sda5中的所有数据。
$ shred -v /dev/sda5
3. 使用shred命令先覆盖文件,然后再删除文件。
$ shred -uv /home/gqxing/security
索引:A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z