linux系统下误删除文件恢复测试

上传人:第*** 文档编号:32688831 上传时间:2018-02-12 格式:DOC 页数:8 大小:182.50KB
返回 下载 相关 举报
linux系统下误删除文件恢复测试_第1页
第1页 / 共8页
linux系统下误删除文件恢复测试_第2页
第2页 / 共8页
linux系统下误删除文件恢复测试_第3页
第3页 / 共8页
linux系统下误删除文件恢复测试_第4页
第4页 / 共8页
linux系统下误删除文件恢复测试_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《linux系统下误删除文件恢复测试》由会员分享,可在线阅读,更多相关《linux系统下误删除文件恢复测试(8页珍藏版)》请在金锄头文库上搜索。

1、Linux 系统下误删除文件恢复测试一、“rm rf”带来的困惑国外一份非常著名的 Linux 系统管理员守则中有这么一条“慎用 rm rf 命令,除非你知道此命令将带来什么后果”,可见,这个命令对系统管理员的重要性。在实际的工作中,由此命令带来的误删除数据案例屡见不鲜,很多系统管理员都遇到过或者犯过这样的错误。由于开发人员对命令的不熟悉,或者粗心大意、疏于管理,执行了此命令,数据在一瞬间就被清空了。Linux 不具备类似回收站的功能,这就意味着数据丢失。虽然 Linux 自身提供了恢复数据的机制,但是这个功能基本没用,要恢复数据,通过常规手段是无法完成的,此时,只有找专业的数据恢复公司来恢复

2、数据,这样无疑要付出很大的成本和费用,造成无法估量的的损失。可见,作为系统管理员,一定要有数据安全意识,数据保护意识,严格遵守相关维护守则,将这种失误带来的损失降低到最低。幸运的是,Linux 下提供了一款开源软件恢复误删的数据,利用这个 ext3 文件系统数据恢复工具 ext3grep 可以恢复误删除的数据。二、 ext3grep 的安装与使用ext3grep 是一个开源的 ext3 文件系统反删除工具,在 ext3grep 出现之前,数据被删除后,通过常规手段恢复基本是不可能的,虽然 debugfs 命令可以对 ext2 文件系统做一些恢复,但是对 ext3 文件系统就无能为力了。ext3

3、 是一个日志型文件系统,ext3grep 正是通过分析 ext3 文件系统的日志信息来恢复被删除的文件和数据的。操作系统环境:CentOS release 6.4。ext3grep 版本:ext3grep-0.10.1。ext3grep 官方网站:http:/ 版本。这里下载的是 ext3grep-0.10.1.tar.gz。所需的系统相关包:rootlocalhost # rpm -qa |grep e2fsprogse2fsprogs-1.41.12-21.el6.x86_64e2fsprogs-libs-1.41.12-21.el6.x86_64e2fsprogs-devel-1.41.

4、12-21.el6.x86_64系统必须要安装 e2fsprogs-libs,不然后面 ext3grep 的安装会出现问题。下面进入编译安装阶段,过程如下:rootlocalhost /opt# tar zxvf ext3grep-0.10.1.tar.gzrootlocalhost ext3grep-0.10.1# ./configurerootlocalhost ext3grep-0.10.1# makerootlocalhost ext3grep-0.10.1# make installrootlocalhost ext3grep-0.10.1# ext3grep -vRunning e

5、xt3grep version 0.10.1这样,ext3grep 就安装完成了,默认的 ext3grep 命令放在/usr/local/bin 目录下。ext3grep 的使用非常简单,这里不做介绍,可以通过“ext3grep -help”获取详细的使用帮助。三、通过 ext3grep 恢复误删除的文件与目录1、数据恢复准则当发现某个分区的数据被误删除后,要做的第一件事是立刻卸载被误删除文件所在的分区,或者重新以只读方式挂载此分区。这么做的原因其实很简单:删除一个文件,就是中文件 inode 节点中的扇区指针清除,同时,释放这些数据对应的数据块,而真实的文件还存留在磁盘分区中,但是这些被删除

6、的文件不一定会一直存留在磁盘中,当这些释放的数据块被操作系统重新分配时,那些被删除的数据就会被覆盖,因此,在数据误删除后,马上卸载文件所在分区可以降低数据块中数据被覆盖的风险,进而提高成功恢复数据的机率。2、实战 ext3grep 恢复文件(1)模拟数据误删除环境下面通过一个模拟环境,详细介绍利用 ext3grep 恢复数据文件的过程。rootlocalhost /# mkdir /disk #建立一个挂载点rootlocalhost /# cd /mydatarootlocalhost mydata# dd if=/dev/zero of=/mydata/disk1 count=102400

7、 #模拟磁盘分区,创建一个空设备102400+0 records in102400+0 records out52428800 bytes (52 MB) copied, 1.20597 seconds, 43.5 MB/srootlocalhost mydata# mkfs.ext3 /mydata/disk1 #将空设备格式化为 ext3 格式rootlocalhost mydata# mount -o loop /mydata/disk1 /disk #挂载设备到/disk 目录下rootlocalhost mydata# cd /disk/rootlocalhost disk# cp

8、/etc/profile /disk #复制文件到模拟磁盘分区rootlocalhost disk# cp /boot/initrd-2.6.18-164.11.1.el5xen.img /diskrootlocalhost disk# echo ext3grep testext3grep.txt rootlocalhost disk# mkdir /disk/ext3grep rootlocalhost disk# cp /etc/hosts /disk/ext3greprootlocalhost disk# pwd/diskrootlocalhost disk# ls -al总计 2512

9、drwxr-xr-x 4 root root 4096 04-07 16:46 .drwxr-xr-x 31 root root 4096 04-07 16:45 .drwxr-xr-x 2 root root 4096 04-07 16:46 ext3grep-rw-r-r- 1 root root 14 04-07 16:31 ext3grep.txt-rw- 1 root root 2535991 04-07 16:30 initrd-2.6.18-164.11.1.el5xen.imgdrwx- 2 root root 4096 04-07 16:33 lost+found-rw-r-

10、r- 1 root root 1029 04-07 16:30 profilerootlocalhost disk# md5sum profile #获取文件校验码a6e82d979bb95919082d9aceddf56c39 profilerootlocalhost disk# md5sum initrd-2.6.18-164.11.1.el5xen.img 031226080e00d7f312b1f95454e5a1ff initrd-2.6.18-164.11.1.el5xen.imgrootlocalhost disk# md5sum ext3grep.txt5afe55495cdb

11、666daad667e1cd797dcb ext3grep.txtrootlocalhost disk# rm -rf /disk/* #模拟误删除数据操作rootlocalhost disk# ls(2)卸载磁盘分区执行以下命令卸载磁盘分区:rootlocalhost disk# cd /opt #切换到/opt 目录下rootlocalhost /opt# umount /disk #卸载模拟磁盘分区(3)查询恢复数据信息执行如下命令,查询需要恢复的数据信息:rootlocalhost /opt# ext3grep /mydata/disk1 -ls -inode 2执行该命令后,ext3

12、grep 就开始搜索可以恢复的数据文件信息,输出下图所示。“ext3grep /mydata/disk1 -ls -inode 2”主要用于扫描当前文件系统下所有文件的信息,包括存在的和已经删除的文件,其中含有 D 标识的就是已被删除的文件,如果不记得被删除的文件的名称,可以通过这种方式来获取要恢复的文件的名称。通过下面的方式可以获取文件要恢复的路径信息。rootlocalhost /opt# ext3grep /mydata/disk1 -dump-namesRunning ext3grep version 0.10.1Number of groups: 7Minimum / maximum

13、 journal block: 447 / 4561Loading journal descriptors. sorting. doneThe oldest inode block that is still in the journal, appears to be from 1270629014 = Wed Apr 7 16:30:14 2010Number of descriptors in journal: 63; min / max sequence numbers: 2 /10Loading disk1.ext3grep.stage2. doneext3grepext3grep.t

14、xtext3grep/hostsinitrd-2.6.18-164.11.1.el5xen.imglost+foundprofile(4)恢复单个文件如果要恢复被删除的某个文件,通过下面方式即可。rootlocalhost /opt# ext3grep /mydata/disk1 -restore-file ext3grep.txtRunning ext3grep version 0.10.1Number of groups: 7Minimum / maximum journal block: 447 / 4561Loading journal descriptors. sorting. do

15、neThe oldest inode block that is still in the journal, appears to be from 1270629014 = Wed Apr 7 16:30:14 2010Number of descriptors in journal: 63; min / max sequence numbers: 2 /10Writing output to directory RESTORED_FILES/Loading disk1.ext3grep.stage2. doneRestoring ext3grep.txt由上面的输出可知,被删除的文件 ext3grep.txt 已经成功恢复。那么恢复的数据放到哪里了呢?在这段操作中,在/opt 目录下执行 ext3grep 命令,恢复的数据文件就存放在/opt/ RESTORED_FILES 目录下,也就是说 ext3grep 会在执行恢复命令的当前目录下自动创建一个 RESTORED_FILES 目录,这个目录专门用于存放恢复的数据。下面是恢复指定目录下的某个文件的操作:rootlocalhost /opt# ext3grep /mydata/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 职业教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号