如何在 Linux 系统中覆盖文件以隐藏文件内容,并使原始内容无法恢复?

linuxopen sourceoperating system

要在 Linux 系统中覆盖文件内容,我们可以使用终端中的 shred 命令。

shred — shred 命令用于安全地删除文件和设备。此命令会覆盖文件以隐藏文件内容,并可选择删除文件,从而使 Linux/Unix 系统中任何软件都很难恢复该文件。

通常,要从系统中删除文件,我们使用终端中的 rm 命令。通过 rm 命令删除文件后,可能可以使用软件恢复文件,但通过 shred 命令删除文件后,文件将无法恢复,因为 shred 命令会使用多种模式对文件进行三次覆盖。

语法

shred 命令的一般语法如下:

shred [OPTION]... FILE...

简要说明 shred 命令中可用的选项。

序号
选项 &描述
1
-f, --force
更改权限以允许写入
2
-n, --iteration=N
将文件内容覆盖 N 次,而不是默认的覆盖次数
3
--random-source=FILE
从另一个文件中获取随机字节
4
-s, --size=N
粉碎这么多字节
5
-u
覆盖后删除文件
6
--remove[=HOW]
与 -u 选项类似,但可以控制如何删除文件
7
-v
显示正在发生的事情
8
-z, --zero
用零覆盖文件以隐藏粉碎过程
9
--help
显示此帮助并退出
10
--version
输出版本信息和退出

示例

在 Linux 系统中覆盖文件内容并使其无法恢复。

要覆盖文件内容并使其无法恢复,我们在 Linux/Unix 系统中使用 shred 命令,如下所示。


$ shred file.txt

执行此命令后,文件"file.txt"将无法恢复。

示例

在 Linux 系统中覆盖文件内容并打印正在执行的操作。

要覆盖文件内容并打印正在执行的操作,我们在 Linux/Unix 系统中使用 shred 命令并添加 --verbose 选项,如下所示。

vikash@tutorialspoint:~/shadow$ shred --verbose file.txt
shred: file.txt: pass 1/3 (random)...
shred: file.txt: pass 2/3 (random)...
shred: file.txt: pass 3/3 (random)...

示例

在 Linux 系统中仅覆盖文件的特定字节。

要在 Linux/Unix 系统中仅覆盖文件的特定字节,可以使用 shred 命令的 -s 选项,如下所示。

vikash@tutorialspoint:~/shadow$ cat file.txt
Hey, welcome to tutorialspoint...
vikash@tutorialspoint:~/shadow$ shred -s 2 file.txt
vikash@tutorialspoint:~/shadow$ cat file.txt
y, welcome to tutorialspoint...

显示 shred 命令的帮助信息并退出。

要查看 shred 命令的更多信息,我们在 Linux 系统中使用 shred 命令的 --help 选项,如下所示。


$ shred --help

结论 -- 在本文中,我们学习了如何使用 shred 命令及其可用选项和合适的示例来覆盖文件以隐藏其内容,并可选择删除文件。rm 命令也用于在 Linux 系统中删除文件。


相关文章


有用资源