如果您在Linux中不小心删除了一个文件,不要担心,只要该区域的磁盘尚未被覆盖,您可能仍然可以恢复它。这篇文章将告诉你如何在Linux中轻松恢复被删除的文件。
Foremost能够搜索磁盘或原始图像文件,以根据其页眉,页脚和内部数据结构来恢复文件。
安装最重要的
Foremost可用于许多不同的Linux发行版。
Mint/Debian / Ubuntu
我们可以通过运行以下命令在Linux Mint,Debian或Ubuntu上安装Foremost。
apt-get install foremost
CentOS/ RHEL
默认情况下,Foremost在任何标准的CentOS / RHEL存储库中都不可用,所以我们将直接从RPM安装它。
yum instll https://forensics.cert.org/centos/cert/7/x86_64//foremost-1.5.7-13.1.el7.x86_64.rpm -y
这个RPM是用于el7的,el6可以在这里找到。
如果没有这些选项,您可以在这里下载最前面的源代码。
在这个例子中,我们使用CentOS 7,但是一旦你安装了Foremost,其余的步骤在任何Linux发行版中都应该是一样的。
删除文件
现在Foremost已经安装好了,我们来删除一个文件。值得注意的是,当文件被删除时,Foremost不需要安装,这正是我碰巧做的事情。
在这个例子中,我们将删除下面显示的image.jpg文件。
standard
[ root @ centos7〜] #file image.jpg image.jpg:JPEG date,JFIF standard 1.01 [ root @ centos7〜]#md5sum image.jpg f2b6f5c9f3795363cddfd6aae6d1ba0d image.jpg
稍后我们将使用这些信息来验证文件是否已成功恢复。现在我们将使用rm命令删除文件。
[ root @ centos7〜] #rm -f image.jpg
还原删除的文件
接下来,我们将创建一个目录来恢复我们的文件。首先需要一个空目录用于这个目的,所以我们将/ root / restored /。
[ root @ centos7〜] #mkdir / root / restored
现在我们准备运行Foremost命令并恢复我们的映像文件。-i开关用于指定我们要搜索的磁盘或映像文件,而-t用于恢复指定类型的文件。首先支持许多不同的文件,检查最前面的手册页的完整列表。这是必需的,因为最重要的是根据该类型的文件使用的标题来搜索磁盘。
[ root @ centos7〜]#foremost -i / dev / sda3 -t jpg -o / root / restored / Processing:/ dev / sda3 | ************************************************* ************************************************** ************************************************** ********************************* |
这大约需要2分钟才能完成一个18GB的磁盘。这将在/ dev / sda3中找到任何.jpg文件,并将其还原到/ root / restored /目录中,只要磁盘上使用的空间尚未被其他任何内容覆盖。
如果我们查看我们的/ root / restored目录,我们可以看到我们的映像文件已经成功恢复。文件的md5散列与我们删除之前的文件完全相同。
[ root @ centos7〜]#md5sum /root/restored/jpg/18608472.jpg f2b6f5c9f3795363cddfd6aae6d1ba0d /root/restored/jpg/18608472.jpg
由于文件名不存储在文件本身中,所以不可能用原始文件名恢复文件,但数据全部存在。
概要
我们在CentOS 7机器上安装了Foremost工具,并用它来恢复已删除的文件。在恢复之前和之后使用文件的md5哈希,我们可以确认完全相同的文件已成功恢复。
最重要的是一个非常简单的使用工具来执行数据雕刻,我已经用了一些成功捕获旗帜(CTF)风格的挑战。
英文原版:https://www.rootusers.com/restore-deleted-file-linux/