軟連結儲存內容的驗證

lawzjf發表於2008-09-10

這裡主要是利用dd及od命令。

1. 建立軟連結,目標檔案的路徑及檔名的長度要大於60個字元,這樣軟連結檔案中會儲存目標檔案的路徑及檔名,否則,這些內容會儲存在軟連結檔案的inodei_block陣列中,這個陣列本來是儲存檔案資料所在的資料塊的。

[root@law ~]# ln -s /oracle/product/10.2.0/db_1/inventory/Templates/assistants/dbca/dbca.sbs dbca.ln

2. 查詢軟連結檔案被分配的資料塊號:

[root@law ~]# debugfs /dev/sda1

debugfs 1.35 (28-Feb-2004)

debugfs: stat dbca.ln

dbca.ln: File not found by ext2_lookup

debugfs: stat /root/dbca.ln

Inode: 131062 Type: symlink Mode: 0777 Flags: 0x0 Generation: 3268397639

User: 0 Group: 0 Size: 72

File ACL: 262661 Directory ACL: 0

Links: 1 Blockcount: 16

Fragment: Address: 0 Number: 0 Size: 0

ctime: 0x48c7ca47 -- Wed Sep 10 21:23:19 2008

atime: 0x48c7ca49 -- Wed Sep 10 21:23:21 2008

mtime: 0x48c7ca47 -- Wed Sep 10 21:23:19 2008

BLOCKS:

(0):285793

TOTAL: 1

3. 使用dd命令匯出上述資料塊內容到一個檔案,這裡指定檔名稱為dbca.ln.dd

[root@law ~]# dd if=/dev/sda1 of=dbca.ln.dd bs=4096 count=1 skip=285793

1+0 records in

1+0 records out

4. 使用od命令檢視匯出檔案的內容,可以發現其儲存的內容正是這個軟連結檔案指向的目標檔案的路徑及檔名稱:

[root@law ~]# od -c dbca.ln.dd

0000000 / o r a c l e / p r o d u c t /

0000020 1 0 . 2 . 0 / d b _ 1 / i n v e

0000040 n t o r y / T e m p l a t e s /

0000060 a s s i s t a n t s / d b c a /

0000100 d b c a . s b s

0000120

*

0010000

或者:

[root@law ~]# cat dbca.ln.dd
/oracle/product/10.2.0/db_1/inventory/Templates/assistants/dbca/dbca.sbs

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/37724/viewspace-1010518/,如需轉載,請註明出處,否則將追究法律責任。

相關文章