电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

UNIX系統(tǒng)被刪文件的恢復(fù)策略

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

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

一、UNIX文件系統(tǒng)結(jié)構(gòu);

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

不管是什么UNIX系統(tǒng),不管什么版本,其文件卷至少包括引導(dǎo)塊、超級塊、i節(jié)點表、數(shù)據(jù)區(qū)等幾個部分。除此之外,不同UNIX版本可能還有不同的差異。例如:SCO UNIX系統(tǒng)的位圖索引塊和位圖塊AIX的邏輯卷表等。這些系統(tǒng)的特殊性不影響下文的恢復(fù)策略,故這里不作討論,僅介紹標(biāo)準(zhǔn)UNIX文件卷結(jié)構(gòu)。;

1. 引導(dǎo)塊;

位于文件卷最開始的第一扇區(qū),這512字節(jié)是文件系統(tǒng)的引導(dǎo)代碼,為根文件系統(tǒng)所特有,其他文件系統(tǒng)這512字節(jié)為空。;

2. 超級塊;

位于文件系統(tǒng)第二扇區(qū),緊跟引導(dǎo)塊之后,用于描述本文件系統(tǒng)的結(jié)構(gòu)。如i節(jié)點長度、文件系統(tǒng)大小等,其結(jié)構(gòu)存放于/usr/include/sys/filsys.h中,其結(jié)構(gòu)如下:;

struct filsys;

{;

ushort s_isize; /*磁盤索引節(jié)點區(qū)所占用的數(shù)據(jù)塊數(shù)*/;

daddr_t s_fsize; /*整個文件系統(tǒng)的數(shù)據(jù)塊數(shù)*/;

short s_nfree; /*在空閑塊登錄表中當(dāng)前登記的空閑塊數(shù)目*/;

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

short s_ninode; /*空閑索引節(jié)點數(shù)*/;

ino_t s_inode[NICINOD]; /*空閑節(jié)點登記表*/;

char s_flock; /*加鎖標(biāo)志位*/;

char s_ilock; /*節(jié)點加鎖標(biāo)志位*/;

char s_fmod; /*超級塊修改標(biāo)志*/;

char s_ronly; /*文件系統(tǒng)只讀標(biāo)志*/;

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

short s_dinfo[4]; /*設(shè)備信息*/;

daddr_t s_tfree; /*空閑塊總數(shù)*/;

ino_t s_tinode; /*空閑節(jié)點總數(shù)*/;

char s_fname[6]; /*文件系統(tǒng)名稱*/;

char s_fpack[6]

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

long s_magic; /*指示文件系統(tǒng)的幻數(shù)*/;

long s_type; /*新文件系統(tǒng)類型*/;

}

3. i節(jié)點表;

i節(jié)點表存放在超級塊之后,其長度是由超級塊中的s_isize字段決定的,其作用是用來描述文件的屬性、長度、屬主、屬組、數(shù)據(jù)塊表等,其數(shù)據(jù)結(jié)構(gòu)在/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. 目錄結(jié)構(gòu);

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

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

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

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

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

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

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

二、文件的刪除過程;

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

1. 刪除一個文件;

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

2. 刪除一個目錄;

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

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

.rm 命令;

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

.mv命令;

格式:mv 文件1 文件2;

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

. > 命令;

格式:>文件名;

若產(chǎn)生一個新文件,>命令僅僅申請一個i節(jié)點,而不寫入任何文件內(nèi)容;若清空一個已經(jīng)存在的文件,則釋放文件所占的數(shù)據(jù)塊,并將文件長度清零。;

三、被刪文件的恢復(fù)策略;

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

1.根據(jù)磁盤現(xiàn)場進(jìn)行恢復(fù);

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

⑴申請一個索引節(jié)點,即向系統(tǒng)申請創(chuàng)建一個新文件名而不寫入任何內(nèi)容。如:#>/tmp/xx;

⑵調(diào)用系統(tǒng)分配數(shù)據(jù)塊算法getnextfreeblock()得到一個數(shù)據(jù)塊號,記入某一地址表變量中。;

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

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

⑸回寫系統(tǒng)的索引節(jié)點表即可。;

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

2. 根據(jù)內(nèi)容恢復(fù)。;

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

⑴關(guān)鍵字搜索法;

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

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

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

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*/;

};

⑵精確長度搜索法;

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

⑶內(nèi)容關(guān)聯(lián)法;

如果知道文件內(nèi)容中存在某種可實現(xiàn)的關(guān)聯(lián),例如文件的校驗和,或者文件內(nèi)容的某種上下文關(guān)系,那么也可通過搜索整個文件系統(tǒng),通過反復(fù)嘗試尋找符合關(guān)聯(lián)條件的磁盤數(shù)據(jù)塊,進(jìn)而恢復(fù)一個文件。;

⑷環(huán)境比較法;

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

UNIX系統(tǒng)下文件系統(tǒng)恢復(fù)的具體實現(xiàn)依賴于不同操作系統(tǒng)和不同版本的具體文件系統(tǒng)結(jié)構(gòu)和磁盤塊分配算法。本文試圖總結(jié)出一種一般性的思路和策略,限于篇幅,不能詳細(xì)討論它們的具體實現(xiàn)過程。

標(biāo)簽: Unix系統(tǒng)
相關(guān)文章:
主站蜘蛛池模板: 湖州织里童装_女童男童中大童装_款式多尺码全_织里儿童网【官网】-嘉兴嘉乐网络科技有限公司 | 编织人生 - 权威手工编织网站,编织爱好者学习毛衣编织的门户网站,织毛衣就上编织人生网-编织人生 | 石膏基自流平砂浆厂家-高强石膏基保温隔声自流平-轻质抹灰石膏粉砂浆批发-永康市汇利建设有限公司 | 青岛美佳乐清洁工程有限公司|青岛油烟管道清洗|酒店|企事业单位|学校工厂厨房|青岛油烟管道清洗 插针变压器-家用电器变压器-工业空调变压器-CD型电抗器-余姚市中驰电器有限公司 | 贝朗斯动力商城(BRCPOWER.COM) - 买叉车蓄电池上贝朗斯商城,价格更超值,品质有保障! | 干洗店加盟_洗衣店加盟_干洗店设备-伊蔻干洗「武汉总部」 | 石家庄装修设计_室内家装设计_别墅装饰装修公司-石家庄金舍装饰官网 | 防水套管厂家_刚性防水套管_柔性防水套管_不锈钢防水套管-郑州中泰管道 | 多米诺-多米诺世界纪录团队-多米诺世界-多米诺团队培训-多米诺公关活动-多米诺创意广告-多米诺大型表演-多米诺专业赛事 | EDLC超级法拉电容器_LIC锂离子超级电容_超级电容模组_软包单体电容电池_轴向薄膜电力电容器_深圳佳名兴电容有限公司_JMX专注中高端品牌电容生产厂家 | 施工电梯_齿条货梯_烟囱电梯_物料提升机-河南大诚机械制造有限公司 | 山东成考网-山东成人高考网 | 济南品牌包装设计公司_济南VI标志设计公司_山东锐尚文化传播 | 无线讲解器-导游讲解器-自助讲解器-分区讲解系统 品牌生产厂家[鹰米讲解-合肥市徽马信息科技有限公司] | 网站制作优化_网站SEO推广解决方案-无锡首宸信息科技公司 | 杭州中策电线|中策电缆|中策电线|杭州中策电缆|杭州中策电缆永通集团有限公司 | 蜘蛛车-高空作业平台-升降机-高空作业车租赁-臂式伸缩臂叉装车-登高车出租厂家 - 普雷斯特机械设备(北京)有限公司 | 篮球地板厂家_舞台木地板品牌_体育运动地板厂家_凯洁地板 | 医用空气消毒机-医用管路消毒机-工作服消毒柜-成都三康王 | 防腐木批发价格_深圳_惠州_东莞防腐木厂家_森源(深圳)防腐木有限公司 | 语料库-提供经典范文,文案句子,常用文书,您的写作得力助手 | 北京律师事务所_房屋拆迁律师_24小时免费法律咨询_云合专业律师网 | 电动葫芦|环链电动葫芦-北京凌鹰名优起重葫芦 | 最新电影-好看的电视剧大全-朝夕电影网 | 砂尘试验箱_淋雨试验房_冰水冲击试验箱_IPX9K淋雨试验箱_广州岳信试验设备有限公司 | 蒸汽热收缩机_蒸汽发生器_塑封机_包膜机_封切收缩机_热收缩包装机_真空机_全自动打包机_捆扎机_封箱机-东莞市中堡智能科技有限公司 | 室内室外厚型|超薄型|非膨胀型钢结构防火涂料_隧道专用防火涂料厂家|电话|价格|批发|施工 | 连续油炸机,全自动油炸机,花生米油炸机-烟台茂源食品机械制造有限公司 | 环保袋,无纺布袋,无纺布打孔袋,保温袋,环保袋定制,环保袋厂家,环雅包装-十七年环保袋定制厂家 | 防火卷帘门价格-聊城一维工贸特级防火卷帘门厂家▲ | 防勒索软件_数据防泄密_Trellix(原McAfee)核心代理商_Trellix(原Fireeye)售后-广州文智信息科技有限公司 | 防水接头-电缆防水接头-金属-电缆密封接头-不锈钢电缆接头 | 电镀整流器_微弧氧化电源_高频电解电源_微弧氧化设备厂家_深圳开瑞节能 | R507制冷剂,R22/R152a制冷剂厂家-浙江瀚凯制冷科技有限公司 | 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | RTO换向阀_VOC高温阀门_加热炉切断阀_双偏心软密封蝶阀_煤气蝶阀_提升阀-湖北霍科德阀门有限公司 | 圆形振动筛_圆筛_旋振筛_三次元振动筛-河南新乡德诚生产厂家 | 防伪溯源|防窜货|微信二维码营销|兆信_行业内领先的防伪防窜货数字化营销解决方案供应商 | 事迹材料_个人事迹名人励志故事 学生作文网_中小学生作文大全与写作指导 | ERP企业管理系统永久免费版_在线ERP系统_OA办公_云版软件官网 | ★店家乐|服装销售管理软件|服装店收银系统|内衣店鞋店进销存软件|连锁店管理软件|收银软件手机版|会员管理系统-手机版,云版,App |