久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

使用 Linux 文件恢復(fù)工具恢復(fù)rm -rf刪除的文件

瀏覽:29日期:2024-04-20 16:50:45

Linux 系統(tǒng)管理員守則中有這么一條:“慎用 rm -rf 命令,除非你知道此命令所帶來(lái)的后果“,不過(guò) Linux 下刪除文件并不是真實(shí)的刪除磁盤(pán)分區(qū)中的文件,而是將文件的 inode 節(jié)點(diǎn)中的扇區(qū)指針清除,同時(shí)釋放這些數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊,當(dāng)釋放的數(shù)據(jù)塊被系統(tǒng)重新分配時(shí),那些被刪除的數(shù)據(jù)就會(huì)被覆蓋,所以誤刪除數(shù)據(jù)后,應(yīng)馬上卸載文件所在的分區(qū)。然后使用相關(guān)工具進(jìn)行恢復(fù)。本文以 Ubuntu 12.04 平臺(tái)為例介介紹四個(gè)(foremost、extundelete、testdisk 和 photorec)常用的 Linux 刪除文件恢復(fù)工具的使用方法。

Linux 文件恢復(fù)的原理inode 和 block

首先簡(jiǎn)單介紹一下 Linux 文件系統(tǒng)的最基本單元:inode。inode 譯成中文就是索引節(jié)點(diǎn),每個(gè)存儲(chǔ)設(shè)備(例如硬盤(pán))或存儲(chǔ)設(shè)備的分區(qū)被格式化為文件系統(tǒng)后,應(yīng)該有兩部份,一部份是 inode,另一部份是 block,block 是用來(lái)存儲(chǔ)數(shù)據(jù)用的。而 inode 呢,就是用來(lái)存儲(chǔ)這些數(shù)據(jù)的信息,這些信息包括文件大小、屬主、歸屬的用戶(hù)組、讀寫(xiě)權(quán)限等。inode 為每個(gè)文件進(jìn)行信息索引,所以就有了 inode 的數(shù)值。linux 操作系統(tǒng)下可以使用 ls –id 命令來(lái)查看文件或者目錄的 inode 值,一般”root”目錄的 inode 值為 2,一個(gè)分區(qū)掛載到一個(gè)目錄下時(shí),這個(gè)”root”目錄的 inode 值為 2

# mount /dev/sdb2 /tmp# ls -id /tmp2 /tmp文件恢復(fù)的原理

本文要介紹的命令是通過(guò)文件系統(tǒng)的 inode 值(一般是 2 )來(lái)獲取文件系統(tǒng)信息。在 ext3 和 ext4 文件系統(tǒng)中,每個(gè)文件都是通過(guò) inode 來(lái)描述其數(shù)據(jù)存放的具體位置,當(dāng)文件被刪除以后,inode 的數(shù)據(jù)指針部分被清零,文件目錄區(qū)沒(méi)有太多變化。文件的讀寫(xiě)都是通過(guò) inode 來(lái)實(shí)現(xiàn),當(dāng) inode 數(shù)據(jù)指針被清零以后,即便文件內(nèi)容還在,也沒(méi)有辦法把文件內(nèi)容組合出來(lái)。當(dāng) ext3 和 ext4 文件系統(tǒng)中的元數(shù)據(jù) metadata 發(fā)生變化時(shí),相應(yīng)的元數(shù)據(jù) metadata 在日志文件會(huì)有一份拷貝。比如一個(gè)文件被刪除了,它的 inode 信息會(huì)在日志文件中先保存一份,然后把要?jiǎng)h除文件 inode 相關(guān)信息清零。這個(gè)日志文件是循環(huán)使用的,當(dāng)操作過(guò)多時(shí),刪除的文件的 inode 日志記錄會(huì)被新的數(shù)據(jù)替換,這就徹底喪失了根據(jù) inode 找回?cái)?shù)據(jù)的機(jī)會(huì)了。如果是大量文件的刪除,這個(gè)日志文件會(huì)被反復(fù)循環(huán)利用多次,只留給最后刪除的那些文件的恢復(fù)機(jī)會(huì)。

使用命令行工具恢復(fù)文件foremost 和 extundelete 簡(jiǎn)介

formost 是一個(gè)基于文件頭和尾部信息以及文件的內(nèi)建數(shù)據(jù)結(jié)構(gòu)恢復(fù)文件的命令行工具。這個(gè)過(guò)程通常叫做數(shù)據(jù)挖掘(data carvubg)。formost 可以分析由 dd、Safeback、Encase 等生成的鏡像文件,也可以直接分析驅(qū)動(dòng)器。文件頭和尾可以通過(guò)配置文件設(shè)置,也可以通過(guò)命令行開(kāi)關(guān)使用 formost 內(nèi)建的文件類(lèi)型。formost 最初是由美國(guó)空軍特別調(diào)查室(Air Force Office of Special Investigations)和信息系統(tǒng)安全研究中心(The Center for Information Systems Security Studies and Research)開(kāi)發(fā)的,現(xiàn)在使用 GPL 許可。Foremost 支持恢復(fù)如下格式:avi, bmp, dll, doc, exe, gif, htm, jar, jpg, mbd, mov, mpg, pdf, png, ppt, rar, rif, sdw, sx, sxc, sxi, sxw, vis, wav, wmv, xls, zip。

針對(duì) Linux 下的 ext 文件系統(tǒng)來(lái)說(shuō),常用的 Linux 文件刪除恢復(fù)工具有 debugfs、ext3grep、extundelete 等。extundelete 是一個(gè)開(kāi)源的數(shù)據(jù)恢復(fù)工具,支持 ext3、ext4 文件系統(tǒng),其官方站點(diǎn)位于http://extundelete.sourceforce.net/,目前最新穩(wěn)定版本為 0.2.0。

上面介紹的兩種命令行工具 foremost 和 extundelete 二者相比,foremost 支持的文件系統(tǒng)比較多(包括 ext2、 ext3 、vfat、NTFS、ufs、jfs 等)和 extundelete 支持的文件系統(tǒng)較少(ext3、ext4)文件系統(tǒng)。不過(guò) foremost 只能支持恢復(fù)特定格式的文件。

使用 foremost

首先安裝軟件包

#apt-get install foremost

其它 Linux 發(fā)行版用戶(hù)可以在 http://foremost.sourceforge.net/ 下載源代碼編譯安裝。下面看看使用方法。

恢復(fù)單個(gè)類(lèi)型文件

筆者刪除一個(gè) USB(/dev/sdba1)存儲(chǔ)器中一個(gè) png 文件然后使用 formost 恢復(fù)。

#rm -f /dev/sdb1/photo1.png#foremost -t png -i /dev/sdb1

恢復(fù)完成后會(huì)在當(dāng)前目錄建立一個(gè) output 目錄,在 output 目錄下會(huì)建立 png 子目錄下會(huì)包括所有可以恢復(fù)的 png 格式的文件。

需要說(shuō)明的是 png 子目錄下會(huì)包括的 png 格式的文件名稱(chēng)已經(jīng)改變,另外 output 目錄下的 audit.txt 文件是恢復(fù)文件列表。

恢復(fù)多個(gè)類(lèi)型文件

#foremost -v -T -t doc,pdf,jpg,gif -i /dev/sda6 -o /media/disk/Recover

恢復(fù)完成后會(huì)在當(dāng)前目錄建立一個(gè) output 目錄,在 output 目錄下會(huì)建立四個(gè)子目錄(/doc,/pdf,/jpg,/gif),分別包括四種類(lèi)型文件。另外 output 目錄下的 audit.txt 文件是恢復(fù)文件列表。

使用 extundelete

首先安裝軟件包

#apt-get install extundelete

其它 Linux 發(fā)行版用戶(hù)可以在http://extundelete.sourceforce.net/下載源代碼編譯安裝。下載安裝 extundelete 之前要安裝兩個(gè)軟件包 e2fsprogs 和 e2fslibs。下面看看使用方法

模擬數(shù)據(jù)誤刪除環(huán)境

這里我們使用一個(gè)分區(qū)/dev/sdd1 掛在在/backupdate 上,建立一個(gè)測(cè)試目錄/delete 并建立一文件:del1.txt 。

# mkdir –p /backupdate/deldate# mkfs.ext4 /dev/sdd1# mount /dev/sdd1 /backupdate#cd /backupdate/deldate# touch del1.txt# echo ' test 1' > del1.txt獲取文件校驗(yàn)碼# md5sum del1.txt 66fb6627dbaa37721048e4549db3224d del1.txt

刪除文件# rm -fr /backupdate/*

卸載文件系統(tǒng)或者掛載為只讀# umount /backupdate查詢(xún)恢復(fù)數(shù)據(jù)信息,注意這里的--inode 2 這里會(huì)掃描分區(qū) :# extundelete /dev/sdd1 --inode 2.....File name | Inode number | Deleted statusDirectory block 8657:. 2.. 2lost+found 11 Deleteddel1.txt 12 Deleted

上面標(biāo)記為 Deleted 是已經(jīng)刪除的文件或目錄

開(kāi)始恢復(fù)文件

默認(rèn)恢復(fù)到當(dāng)前目錄下的 RECOVERED_FILES 目錄中去。

# extundelete /dev/sdd1 --restore-file del1.txt如果恢復(fù)一個(gè)目錄# extundelete /dev/sdd1 --restore-directory /backupdate/deldate恢復(fù)所有文件# extundelete /dev/sdd1 --restore-all獲取恢復(fù)文件校驗(yàn)碼,對(duì)比檢測(cè)是否恢復(fù)成功# md5sum RECOVERED_FILES/ del1.txt 66fb6627dbaa37721048e4549db3224d RECOVERED_FILES/del1.txt

查看校驗(yàn)碼與之前的是否完全一致。

應(yīng)用總結(jié):筆者在現(xiàn)實(shí)使用過(guò)程中發(fā)現(xiàn) extundelete 還是有很大的不完整性,基于整個(gè)磁盤(pán)的恢復(fù)功能較為強(qiáng)大,基于目錄和文件的恢復(fù)還不夠強(qiáng)大。在 Linux 下誤刪除了文件,當(dāng)發(fā)現(xiàn)數(shù)據(jù)丟失以后,不要進(jìn)行任何操作,保留現(xiàn)場(chǎng)。要想辦法把數(shù)據(jù)丟失的文件系統(tǒng)經(jīng)過(guò) dd 命令或者 AIR(Automated Image Restore,http://cdnetworks-kr-2.dl.sourceforge.net/ )工具到另外的存儲(chǔ)空間上作為最原始的備份,以便數(shù)據(jù)恢復(fù)專(zhuān)家現(xiàn)場(chǎng)診斷恢復(fù)。

使用 scalpel

以上介紹的工具主要使用在 ext3 和 ext4 的文件系統(tǒng),如果用戶(hù)使用的那些沒(méi)有日志機(jī)制的舊有文件系統(tǒng),可以使用 scalpel 工具。scalpel 是一種快速文件恢復(fù)工具,它通過(guò)讀取文件系統(tǒng)的數(shù)據(jù)庫(kù)來(lái)恢復(fù)文件。它是獨(dú)立于文件系統(tǒng)的。

用戶(hù)可以在http://www.digitalforensicssolutions.com/Scalpel/ 下載源代碼編譯安裝。下面看看使用方法:

使用 scalpel 工具之前,首先要修改配置文件: /etc/scalpel/scalpel.conf。

例如用戶(hù)要恢復(fù)所有刪除 pdf 文件,那么要在/etc/scalpel/scalpel.conf 把包括 pdf 文件格式的兩行之前的# 去掉。

[...] pdf y 5000000 %PDF %EOFx0d REVERSE pdf y 5000000 %PDF %EOFx0a REVERSE[...]

然后保存文件。

下面看看使用方法

# scalpel /dev/sdb1 -o /RECOVERY/

其中/dev/sdb1 是目標(biāo)驅(qū)動(dòng)器,/RECOVERY/ 是恢復(fù)文件存儲(chǔ)目錄。目錄下的 audit.txt 文件是恢復(fù)文件列表。

使用字符終端工具 testdisk 和 photorectestdisk 簡(jiǎn)介

testdisk 是分區(qū)表恢復(fù)、raid 恢復(fù)、分區(qū)恢復(fù)的開(kāi)源免費(fèi)工具(testdisk 支持如下文件系統(tǒng): FAT12/FAT16/FAT32/NTFS/ext2/ext3/ext4)。testdisk 支持的功能: 修復(fù)分區(qū)表, 恢復(fù)已刪除分區(qū),用 FAT32 備份表恢復(fù)啟動(dòng)扇區(qū),重建 FAT12/FAT16/FAT32 啟動(dòng)扇區(qū),修復(fù) FAT 表,重建 NTFS 啟動(dòng)扇區(qū),用備份表恢復(fù) NTFS 啟動(dòng)扇區(qū),用 mft 鏡像表(mft mirror)修復(fù) mft 表,查找 ext2/ext3 備份的 superblock,從 FAT,NTFS 及 ext2 文件系統(tǒng)恢復(fù)刪除文件,從已刪除的 FAT,NTFS 及 ext2/ext3 分區(qū)復(fù)制文件。

使用方法

首先安裝

#apt-get install testdisk

其它 Linux 發(fā)行版用戶(hù)可以在http://www.cgsecurity.org/wiki/TestDisk_Download 下載源代碼編譯安裝。下載安裝 testdisk 之前要安裝幾個(gè)軟件包 libjpeg8 ,libncursesw5, libuuid1, zlib1g 。下面看看使用方法

啟動(dòng) testdisk

#testdisk

testdisk 啟動(dòng)后的工作界面首先是選擇恢復(fù)操作中的 log 文件(testdisk.log)的紀(jì)錄方式見(jiàn)圖 1。

圖 1.選擇恢復(fù)操作中的 log 文件的紀(jì)錄方式

使用 Linux 文件恢復(fù)工具恢復(fù)rm -rf刪除的文件

[Create]新建

[Append]追加

[No Log]不紀(jì)錄

選擇了 log 文件的記錄方式后、系統(tǒng)顯示處于連接狀態(tài)的磁盤(pán)設(shè)備見(jiàn)圖 2。

圖 2.處于連接狀態(tài)的磁盤(pán)設(shè)備

使用 Linux 文件恢復(fù)工具恢復(fù)rm -rf刪除的文件

在列出的磁盤(pán)設(shè)備中,選擇要恢復(fù)的分區(qū),然后選擇磁盤(pán)分區(qū)的種類(lèi)。若是 ext4 文件系統(tǒng)的話(huà),請(qǐng)選擇 [None ] Non partitioned media 見(jiàn)圖 3

圖 3.選擇 [None ] Non partitioned media

使用 Linux 文件恢復(fù)工具恢復(fù)rm -rf刪除的文件

說(shuō)明:一般選擇[Intel] Intel/PC partition(如果是 GPT 分區(qū),請(qǐng)選擇 EFI GPT),對(duì)于 ext4 文件系統(tǒng)選擇 [Intel] Intel/PC partition 也能正確識(shí)別,只是分析硬盤(pán)時(shí)比較慢。

下面的畫(huà)面中選擇[Analyse],對(duì)分區(qū)進(jìn)行分析見(jiàn)圖 4。

圖 4.對(duì)分區(qū)進(jìn)行分析

使用 Linux 文件恢復(fù)工具恢復(fù)rm -rf刪除的文件

下面顯示了當(dāng)前分區(qū)的狀態(tài)。這是軟件分析的當(dāng)前分區(qū)表的分區(qū)結(jié)果,我們選擇“Deep Search”進(jìn)行一次深入檢測(cè)見(jiàn)圖 5。

圖 5.選擇“Deep Search”進(jìn)行一次深入檢測(cè)

使用 Linux 文件恢復(fù)工具恢復(fù)rm -rf刪除的文件

下面是檢測(cè)完成界面見(jiàn)圖 6

圖 6.檢測(cè)完成界面

使用 Linux 文件恢復(fù)工具恢復(fù)rm -rf刪除的文件

在這個(gè)畫(huà)面時(shí),按 P 鍵就可以列出硬盤(pán)上的文件見(jiàn)圖 7

圖 7.紅色的文件名稱(chēng)就是已經(jīng)被刪除的文件

使用 Linux 文件恢復(fù)工具恢復(fù)rm -rf刪除的文件

紅色的文件名稱(chēng)就是已經(jīng)被刪除的文件,選擇好你要恢復(fù)的文件后,按 c 鍵之后,它就會(huì)問(wèn)你要復(fù)制到哪個(gè)目錄,這時(shí)請(qǐng)選擇你要 復(fù)制的目地地(destination)即可。

photorec 簡(jiǎn)介

photorec 是一款用于恢復(fù)硬盤(pán)、光盤(pán)中丟失的視頻、文檔、壓縮包等文件,或從數(shù)碼相機(jī)存儲(chǔ)卡中恢復(fù)丟失圖片的數(shù)據(jù)恢復(fù)軟件(因此,該軟件命名為 photo recovery 這個(gè)名字)。 photorec 忽略文件系統(tǒng),能直接從介質(zhì)底層恢復(fù)數(shù)據(jù),因此,在介質(zhì)的文件系統(tǒng)嚴(yán)重破壞或被重新格式化后,它也能進(jìn)行數(shù)據(jù)恢復(fù)。出于安全考慮, photorec 以只讀方式來(lái)訪(fǎng)問(wèn)您要恢復(fù)數(shù)據(jù)所在的磁盤(pán)或存儲(chǔ)卡介質(zhì)。提示: 一旦發(fā)現(xiàn)丟失或意外刪除了某個(gè)圖片、文件, 請(qǐng)不要繼續(xù)往該存儲(chǔ)設(shè)備或磁盤(pán)保存新文件;否則您可能會(huì)覆蓋原來(lái)的數(shù)據(jù)。 這意味著您在使用 photorec 時(shí),您千萬(wàn)不要將恢復(fù)的文件寫(xiě)入到原數(shù)據(jù)所存儲(chǔ)的同一分區(qū)。

使用 photorec 恢復(fù)文件

photorec 是 testdisk 的伴侶程序,安裝 testdisk 后 photorec 就可以使用了。

啟動(dòng) photorec

# photorec

圖 8 中顯示了已連接磁盤(pán)設(shè)備,準(zhǔn)備恢復(fù)的文件在那個(gè)設(shè)備上就選擇它,然后在選擇 Proceed 按鈕繼續(xù)下一步。

圖 8.已連接磁盤(pán)設(shè)備

使用 Linux 文件恢復(fù)工具恢復(fù)rm -rf刪除的文件

接下來(lái),選擇恢復(fù)的磁盤(pán)分區(qū)格式。這里選擇 ext4 見(jiàn)圖 9。

圖 9.選擇恢復(fù)的磁盤(pán)分區(qū)格式

使用 Linux 文件恢復(fù)工具恢復(fù)rm -rf刪除的文件

畫(huà)面下方[File Opt]中有可供恢復(fù)的文件種類(lèi)提供被選擇見(jiàn)圖 10。

圖 10.可供恢復(fù)的文件種類(lèi)

使用 Linux 文件恢復(fù)工具恢復(fù)rm -rf刪除的文件

說(shuō)明:如果只是 root 據(jù)某些文件簽名要恢復(fù)部分文件類(lèi)型,那么可以按 s 取消全部勾選,然后移動(dòng)光標(biāo)到要恢復(fù)的文件類(lèi)型,可按空格來(lái)選擇高亮選中的類(lèi)型。

下面設(shè)定要分析的磁盤(pán)空間區(qū)域,可整個(gè)分區(qū)搜索,也可只搜索自由空間(相當(dāng)于未分配簇)見(jiàn)圖 11 。

圖 11.設(shè)定要分析的磁盤(pán)空間區(qū)域

使用 Linux 文件恢復(fù)工具恢復(fù)rm -rf刪除的文件

下面選擇分區(qū)所使用的文件系統(tǒng)類(lèi)型,然后設(shè)定導(dǎo)出的文件目錄,一般輸入 Y 并回車(chē)即可。圖 12 是恢復(fù)完成界面。

圖 12.恢復(fù)完成

使用 Linux 文件恢復(fù)工具恢復(fù)rm -rf刪除的文件

恢復(fù)完了選擇 Quit 退出 PhtoRec。被恢復(fù)的文件是 recup_dir.x 的若干數(shù)字子組合為文件名被保存在當(dāng)前目錄的/recup_dir 子目錄下的。

功能對(duì)比

表 1 是 Linux 刪除文件恢復(fù)工具

表 1.Linux 刪除文件恢復(fù)工具

使用 Linux 文件恢復(fù)工具恢復(fù)rm -rf刪除的文件

總結(jié)

可以使用 testdisk 進(jìn)行文件恢復(fù)的場(chǎng)合,也就是硬盤(pán)上的分區(qū)(該分區(qū)有原有數(shù)據(jù)紀(jì)錄)已經(jīng)損壞的情形。但是如果損壞之后,重新再次做成了新分區(qū)的話(huà),文件恢復(fù)的可能性比較小,很困難。photorec 不僅針對(duì) 硬盤(pán)、USB 設(shè)備、CD-ROM、SD 卡,而且還可以對(duì)其它存儲(chǔ)設(shè)備進(jìn)行應(yīng)用。因此大多數(shù)常用的文件如果被誤操作的話(huà),均可利用其來(lái)進(jìn)行恢復(fù),只不過(guò)它的初衷是針對(duì)照片而制作的。

勘誤:文中phtorec一律改為photorec。

標(biāo)簽: Linux系統(tǒng)
相關(guān)文章:
主站蜘蛛池模板: 国产大学生情侣呻吟视频 | 一区二区免费视频 | 欧美久久精品 | 亚洲精品一二三区 | 精品日韩欧美一区二区三区在线播放 | www九九热 | 99久久精品免费 | 黄色一级电影 | 亚洲精品一区二区三区在线看 | 欧美日韩在线免费观看 | 婷婷成人免费视频 | 国产精品国产三级国产aⅴ无密码 | 97碰碰碰免费公开在线视频 | 午夜爱爱毛片xxxx视频免费看 | 亚洲高清免费视频 | 一区二区三区国产视频 | 国产精品久久国产愉拍 | 精品视频一区二区三区四区 | 一区二区三区免费在线 | 久久福利| 中文在线一区二区 | 夜夜艹 | 国产视频二 | 欧美视频在线一区 | 看全黄大色黄大片老人做 | 蜜桃精品久久久久久久免费影院 | 中文字幕av亚洲精品一部二部 | 日日做夜夜爽毛片麻豆 | 极品女神高潮呻吟av久久 | 山岸逢花在线观看 | 亚洲免费观看视频 | 久草观看| av一级毛片 | 成人午夜激情 | 偷拍电影一区二区三区 | 欧美 亚洲 另类 激情 另类 | 国产精品成人免费视频 | 久久精品这里有 | 人人干美女| 免费的一级毛片 | 日韩成人精品视频 |