日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

UNIX系統被刪文件的恢復策略

瀏覽:266日期:2024-06-06 17:45:49

與DOS/Windows不同,UNIX文件被刪除后很難恢復,這是由UNIX獨特的文件系統結構決定的。UNIX文件目錄不像DOS/Windows那樣,文件即使被刪除之后仍保存有完整的文件名、文件長度、始簇號(即文件占有的第一個磁盤塊號)等重要信息;相反,它的文件信息全部依靠一種被稱為i節點的數據結構來描述,而i節點在相應文件被刪除之后即被清空,因此,要想直接恢復被刪除的文件內容幾乎是不可能的,必須另辟蹊徑。本文結合實際,討論幾種文件恢復策略及其關鍵步驟的具體實現。;

一、UNIX文件系統結構;

我們知道,UNIX是以文件卷作為其文件系統存儲格式的,而不同的UNIX系統,文件卷格式是有差異的,甚至即使是同一UNIX操作系統的不同版本,其文件系統未必完全相同,例如:SCO UNIX 4.1版與5.0版文件系統結構就有明顯差異,但只要是UNIX系統,其文件卷的基本結構是一致的。分析如下:;

不管是什么UNIX系統,不管什么版本,其文件卷至少包括引導塊、超級塊、i節點表、數據區等幾個部分。除此之外,不同UNIX版本可能還有不同的差異。例如:SCO UNIX系統的位圖索引塊和位圖塊AIX的邏輯卷表等。這些系統的特殊性不影響下文的恢復策略,故這里不作討論,僅介紹標準UNIX文件卷結構。;

1. 引導塊;

位于文件卷最開始的第一扇區,這512字節是文件系統的引導代碼,為根文件系統所特有,其他文件系統這512字節為空。;

2. 超級塊;

位于文件系統第二扇區,緊跟引導塊之后,用于描述本文件系統的結構。如i節點長度、文件系統大小等,其結構存放于/usr/include/sys/filsys.h中,其結構如下:;

struct filsys;

{;

ushort s_isize; /*磁盤索引節點區所占用的數據塊數*/;

daddr_t s_fsize; /*整個文件系統的數據塊數*/;

short s_nfree; /*在空閑塊登錄表中當前登記的空閑塊數目*/;

daddr_t s_free[NICFREE]; /*空閑塊登記表*/;

short s_ninode; /*空閑索引節點數*/;

ino_t s_inode[NICINOD]; /*空閑節點登記表*/;

char s_flock; /*加鎖標志位*/;

char s_ilock; /*節點加鎖標志位*/;

char s_fmod; /*超級塊修改標志*/;

char s_ronly; /*文件系統只讀標志*/;

time_t s_time; /*超級塊上次修改的時間*/;

short s_dinfo[4]; /*設備信息*/;

daddr_t s_tfree; /*空閑塊總數*/;

ino_t s_tinode; /*空閑節點總數*/;

char s_fname[6]; /*文件系統名稱*/;

char s_fpack[6]

long s_fill[13]; /*填空位*/;

long s_magic; /*指示文件系統的幻數*/;

long s_type; /*新文件系統類型*/;

}

3. i節點表;

i節點表存放在超級塊之后,其長度是由超級塊中的s_isize字段決定的,其作用是用來描述文件的屬性、長度、屬主、屬組、數據塊表等,其數據結構在/usr/include/sys/ino.h中,如下:;

struct dinode;

{;

ushort di_mode

short di_nlink

ushort di_uid

ushort di_gid

off_t di_size

char di_addr[40]

time_t di_atime

time_t di_mtime

time_t di_ctime

}

4. 目錄結構;

UNIX所有文件均存放于目錄中,目錄本身也是一個文件。目錄存放文件的機制如下:首先,目錄文件本身也象普通文件一樣,占用一個索引節點,其次,由這個索引節點得到目錄內容的存放位置,再次,從其內容中取出一個個的文件名和它對應的節點號,從而訪問一個文件。目錄結構如下:;

索引節點號(2字節) .(本目錄)(14字節);

索引節點號(2字節) ..(父目錄)(14字節);

索引節點號(2字節) 文件名(14字節);

索引節點號(2字節) 文件名(14字節);

索引節點號(2字節) 文件名(14字節);

由上可知文件名是依靠目錄來描述的,文件的內容和其他信息則由索引節點來描述。;

二、文件的刪除過程;

UNIX下刪除一個文件的過程很簡單,那就是釋放索引節點表和文件占用的數據塊,清空文件占用的索引節點,但不清除文件內容。但刪除文件與刪除目錄的處理不盡相同,不同命令刪除文件的過程也不相同。;

1. 刪除一個文件;

UNIX 刪除一個文件的具體步驟是:根據文件i節點的地址表逐一釋放文件占用的磁盤數據塊,然后清空相應的節點,最后釋放i節點。;

2. 刪除一個目錄;

刪除一個目錄的過程:首先逐一刪除目錄里的所有文件,然后刪除目錄。目錄本身也是一個文件,故刪除方法與刪除文件一致。;

3. 幾種不同的刪除命令;

.rm 命令;

一般刪除命令,刪除過程上述已說明。;

.mv命令;

格式:mv 文件1 文件2;

處理過程是將文件2的數據塊釋放,然后將文件1的名稱改為文件2,再釋放文件2所占的i節點。;

. > 命令;

格式:>文件名;

若產生一個新文件,>命令僅僅申請一個i節點,而不寫入任何文件內容;若清空一個已經存在的文件,則釋放文件所占的數據塊,并將文件長度清零。;

三、被刪文件的恢復策略;

要恢復被刪除的文件,只能根據刪除后留下的東西去做文章。文件被刪除后留下了什么呢?由上述分析可知:其一、留下了文件的內容;其二、留下了“現場”。文件的恢復策略只能從這兩個方面來分析。以下談幾種恢復策略。;

1.根據磁盤現場進行恢復;

如果文件被刪除,現場未被破壞(即文件被刪除后硬盤未發生過寫操作),而且假定只刪除了一個文件,那么可根據系統的分配算法進行恢復。因為系統建立一個文件時,必定根據某一特定的分配算法決定文件占用的數據塊位置。而當該文件被刪除后,它所占用的數據塊被釋放,又回到系統的分配表中,這時如果重新建立一個文件,系統根據原來的分配算法分配出的數據塊必定跟該文件原來占用的數據塊一致,而且我們知道,UNIX文件最后一數據塊尾部多出的字節是全部置0的,據此只要調用系統的數據分配算法,在系統中一塊塊的申請數據塊,因為UNIX文件最后一個數據塊尾部多出的字節全部為0,所以,只要發現一個分配出的數據塊中尾部全為0,即可認為文件結束,由此可確定文件長度和內容,進而實現恢復。方法如下:;

⑴申請一個索引節點,即向系統申請創建一個新文件名而不寫入任何內容。如:#>/tmp/xx;

⑵調用系統分配數據塊算法getnextfreeblock()得到一個數據塊號,記入某一地址表變量中。;

⑶讀出這個數據塊,判斷其尾部是否全部連續為0,若不是,則回到(2),若是,則進行(4)。;

⑷首先用系統函數fstat得到/tmp/xx的i節點號,然后將(2)步所得的地址表寫入索引節點的地址表中(注意間址問題),并根據數據塊個數和最后一塊中有效數據長度計算出文件大小,寫入i節點的di_size字段。;

⑸回寫系統的索引節點表即可。;

需要說明的是,第一,系統分配數據塊的算法因不同的UNIX版本而不同;第二,有的UNIX如SCO UNIX 5.0版,其空閑數據塊的分配和回收是使用一種動態鏈表的數據結構來實現的,它們的文件恢復更加容易,只要在空閑鏈表中的表尾去尋找即可,筆者另行描述。;

2. 根據內容恢復。;

若現場已被破壞,即硬盤發生過寫操作,那么只好根據內容來恢復。而且,由于UNIX是一個多進程、多用戶系統,它每一次開關機或硬件、通訊故障等都會記錄系統日志、.sh_history等,硬盤現場被破壞可能性極大。因此討論按內容恢復的方法具有更大的實用價值。筆者經過實際探索得出下列四種恢復策略供參考。;

⑴關鍵字搜索法;

如果知道被刪除的文件內容中若干字節的內容,而且該文件長度又不超過一個磁盤塊,那么可以在整個文件系統中搜索這一字節串,得出一個文件所在的數據塊,將它們的塊號填入一個i節點,即可恢復一個文件,搜索文件系統的算法很簡單,說明如下:;

a. #df -k 確定文件系統的設備文件名(如/dev/root);

b.用下述函數搜索,若成功,返回數據塊號,反之返回-1。其中fsname是文件系統的設備名,如/dev/root,comp()參數是實現搜索條件的函數。;

long searchfs(char *fsname , int comp());

{;

FILE *fp

char buf[1024]

long i=0

fp=fopen(fsname,'r')

while (!feof(fp));

{;

fread(buf,1024,1,fp)

if (comp()) /* 檢查是否符合搜索條件 */;

return i; /* 若成功返回塊號 */;

i++

};

fclose(fp)

return -1; /* 未找到符合條件的塊,返回-1*/;

};

⑵精確長度搜索法;

如果知道被刪除文件的精確長度(字節數),那么可根據一個數據塊的大小,計算出文件的最后一個數據塊中數據的精確長度,該數據塊中其他字節必然是全0。根據這一條件,通過搜索整個文件系統,找出其中符合條件的數據塊,若出現多個塊符合要求,則還需要根據其他條件區分。但不管怎樣,根據精確長度分析也是恢復數據的一個策略。;

⑶內容關聯法;

如果知道文件內容中存在某種可實現的關聯,例如文件的校驗和,或者文件內容的某種上下文關系,那么也可通過搜索整個文件系統,通過反復嘗試尋找符合關聯條件的磁盤數據塊,進而恢復一個文件。;

⑷環境比較法;

如果知道刪除文件所在的文件系統的安裝過程,那么,另行找一臺完全相的機器,按原來完全相同的步驟安裝相同版本的UNIX和相應的其他軟件,可以想象,新的機器環境會與原來的環境基本相同,比較兩個機器上相同文件系統的內容,可以推斷出被刪除文件的大致位置,至少可以大大減少查找的范圍,一旦查找的范圍足夠小時,可以用逐個觀察和嘗試的方法結合其他條件恢復數據,降低恢復的難度,增加恢復的可靠性。;

UNIX系統下文件系統恢復的具體實現依賴于不同操作系統和不同版本的具體文件系統結構和磁盤塊分配算法。本文試圖總結出一種一般性的思路和策略,限于篇幅,不能詳細討論它們的具體實現過程。

標簽: Unix系統
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
蜜臀av免费一区二区三区| 精精国产xxxx视频在线野外| 午夜久久美女| 亚洲精品在线观看91| 久久亚洲电影| 日韩精品一页| 精品视频99| 久久精品亚洲人成影院| 国产精品日韩欧美一区| 91精品国产自产观看在线| 麻豆精品久久久| 久久一区视频| 国产综合视频| 日韩精品三级| 高清日韩中文字幕| 久久国产欧美| 中文字幕中文字幕精品| 欧美成人精品一级| 激情久久五月| 日精品一区二区三区| 久久中文字幕一区二区三区| 日韩理论片av| 亚洲18在线| 日本精品黄色| 一区二区亚洲视频| 红杏一区二区三区| 久久激情一区| 快she精品国产999| 麻豆91精品91久久久的内涵| 美女福利一区二区三区| 久久性天堂网| 国内自拍视频一区二区三区| 国产亚洲网站| 精品成人18| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产精品久久久久久久久免费高清| 青青青免费在线视频| 在线免费观看亚洲| 国产一区二区三区网| 中文国产一区| 国产a亚洲精品| 日韩中文字幕区一区有砖一区| 国产亚洲电影| 免费日韩av片| 成人台湾亚洲精品一区二区| 亚洲综合三区| 日韩国产一区二区三区| 欧美色综合网| 老鸭窝亚洲一区二区三区| av资源中文在线天堂| 日本va欧美va欧美va精品| 免费视频国产一区| 加勒比视频一区| 欧美一级全黄| 91久久中文| 中文字幕在线高清| 欧美午夜网站| 久久成人一区| 91精品国产乱码久久久久久久| 91亚洲精品在看在线观看高清| 激情欧美亚洲| 日韩精品电影| 国产不卡精品在线| 国产伦精品一区二区三区视频 | 日韩一区二区免费看| 国产专区精品| 日本不卡中文字幕| 香蕉久久国产| 亚洲性视频h| 国产精品久久久久久久久妇女| 欧美精品观看| 日本va欧美va精品| 综合一区二区三区| 六月婷婷一区| 午夜在线精品| 91久久午夜| 亚洲欧美综合| 91tv亚洲精品香蕉国产一区| 国产一区二区三区四区大秀 | 亚洲欧洲一区二区天堂久久| 9999国产精品| 国产精品99久久精品| 国产精品1luya在线播放| 亚洲va久久| 亚洲一区导航| 日韩中文字幕av电影| 宅男噜噜噜66国产日韩在线观看| 在线观看精品| 国内亚洲精品| 午夜欧美理论片| 午夜久久一区| 99riav1国产精品视频| 99久久婷婷这里只有精品| 色网在线免费观看| 欧美日本三区| 国产图片一区| 国产精品观看| 国产成人精品免费视| 国产成人精选| 精品三级久久| 午夜国产精品视频免费体验区| 99亚洲视频| 久久国产精品亚洲77777| 亚洲免费网址| 日本一区中文字幕| 欧美日韩一区二区三区在线电影| 国产午夜一区| 美女视频免费精品| 正在播放日韩精品| 欧美日韩一区二区综合| 亚洲在线电影| 欧美日韩1区2区3区| 久久精品伊人| 色婷婷狠狠五月综合天色拍| 免费视频亚洲| 日韩一区欧美二区| 日本午夜精品久久久| 国产伦精品一区二区三区视频| 激情中国色综合| 午夜视频精品| 日韩欧美2区| 精品久久福利| 久久青青视频| 自拍日韩欧美| 日本成人手机在线| 精品一级视频| 99国产成+人+综合+亚洲欧美| 综合一区在线| 老牛国内精品亚洲成av人片| 成人午夜国产| 亚洲精品影院在线观看| 麻豆精品视频在线观看免费| 国产99久久| 国产午夜一区| 国产91一区| 欧美亚洲专区| 日韩成人亚洲| 久久香蕉精品| 精品入口麻豆88视频| 伊人久久成人| 久久精品二区亚洲w码| 国产亚洲精品久久久久婷婷瑜伽| 日韩精品久久久久久久软件91| 岛国av在线网站| 蜜臀久久99精品久久久久宅男 | 欧美日韩精品免费观看视欧美高清免费大片 | 亚洲综合日韩| 国产精品天堂蜜av在线播放| 久久精品二区三区| 日本91福利区| 久久高清免费| 911亚洲精品| 最新国产拍偷乱拍精品| 日本一二区不卡| 日韩激情啪啪| 自由日本语亚洲人高潮| 国产精品久久久免费| 亚洲一区欧美激情| 国产精品网站在线看| jiujiure精品视频播放| 麻豆国产一区| 色综合视频一区二区三区日韩| 日产精品一区| 国产精品一区2区3区| 午夜在线观看免费一区| 樱桃视频成人在线观看| 国产精品中文| 日韩中文字幕一区二区三区| 日韩一区二区三区免费播放| 欧美日本不卡高清| 久久福利毛片| 久久免费高清| 国产成人1区| 欧美一区二区三区久久| 日韩精品一级中文字幕精品视频免费观看 | 日本中文字幕一区二区视频 | 欧美黄色网页| 91欧美极品| 伊人久久大香伊蕉在人线观看热v| 韩国精品主播一区二区在线观看| 国产精品调教| 日韩毛片网站| 欧美中文日韩| 免费欧美一区| 久久精品123| 在线手机中文字幕| 精品国内亚洲2022精品成人| 日韩avvvv在线播放| 中文字幕av一区二区三区四区| 精品在线99| 群体交乱之放荡娇妻一区二区| 国产一区二区色噜噜| 国产日韩一区二区三区在线| 综合激情网...| 一区二区三区四区在线观看国产日韩| 午夜免费一区| 伊人影院久久| 亚洲专区一区| 日韩中文字幕不卡| 中文字幕一区二区av|