浅谈Linux文件系统反删除方法(2)
核心提示:列出的档有很多(这里找到2692个),第1字段是档节点号,第2字段是档所有者,第3字段是读写权限,接下来是档大小,占用块数,删除时间。然后便可以够根据档大小和删除日期判定那些是我们需要的。
列出的档有很多(这里找到2692个),第1字段是档节点号,第2字段是档所有者,第3字段是读写权限,接下来是档大小,占用块数,删除时间。然后便可以够根据档大小和删除日期判定那些是我们需要的。比如我们要恢复节点是196829的文件:
可以先看看文件资料状态:
以下为援用的内容: debugfs:stat<196829> Inode:196829Type:regularMode:0644Flags:0x0Version:1 User:0Group:0Size:149500 FileACL:0DirectoryACL:0 Links:0Blockcount:38 Fragment:Address:0Number:0Size:0 ctime:0x31a9a574--MonMay2713:52:042001 atime:0x31a21dd1--TueMay2120:47:292001 mtime:0x313bf4d7--TueMar508:01:272001 dtime:0x31a9a574--MonMay2713:52:042001 BLOCKS: 594810594811594814594815594816594817 …………………………………. TOTAL:38 |
然后便可以够用dump指令恢复文件:
debugfs:dump<196829>/mnt/hda/01.sav
这样就把档恢复出来了。退出debugfs:
debugfs:quit
另1种方法是手工编辑inode:
以下为援用的内容: debugfs:mi<196829> Mode[0100644] UserID[0] GroupID[0] Size[149500] Creationtime[0x31a9a574] Modificationtime[0x31a9a574] Accesstime[0x31a21dd1] Deletiontime[0x31a9a574]0 Linkcount[0]1 Blockcount[38] Fileflags[0x0] Reserved1[0] Fileacl[0] Directoryacl[0] Fragmentaddress[0] Fragmentnumber[0] Fragmentsize[0] DirectBlock#0[594810] ……………………………. TripleIndirectBlock[0] |
使用mi指令后每次显示1行信息以供编辑,其它行可以直接按回车表示确认,把deletiontime改成0(未删除),Linkcount改成1。改好后退出debugfs:
debugfs:quit
然后用fsck检查/dev/hda5
fsck/dev/hda5
程序会说找到丢失的数据块,放在lost+found里面。这个目录里的文件就是我们要的。
唐山网站建设www.fw8.netTAG:文件,节点,所有者,字段,大小
评论加载中...
|
上一篇: 轻松学习手册(3)XML的术语
下一篇: 选择邮件服务器102要素(3)