新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 用DOS命令解除UNIX管理員密碼

用DOS命令解除UNIX管理員密碼

作者: 時間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

----用app讀出它(CX和DX的賦值分別改為0209和0080)。

----用dump命令可看出偏移1040H至107FH正是/etc目錄的i-node。我們把它的數(shù)據(jù)塊也讀出來。先計算第一個數(shù)據(jù)塊的物理地址。將2D0700H代入公式,算出/etc第

一個數(shù)據(jù)塊物理地址是3柱面50頭27扇。

----用app讀出它(CX和DX的賦值分別改為031B和3280)。

----用dump命令可看出偏移11A0H至11AFH是/etc目錄下的passwd文件名。我們用enter命令把它改成zls,然后再運行app(AX的賦值應(yīng)改為0301)。

----現(xiàn)在退出DEBUG命令。

----取出軟盤,重啟機器,引導UNIX操作系統(tǒng)。----按照引導順序,UNIX顯示出硬件配置信息后就該提問超級用戶口令了,但就在此時它卻突然發(fā)現(xiàn)/etc/passwd文件失蹤了!(其實只是被改名為zls,但UNIX對此一無所知。)沒有了這個文件,UNIX無法提問超級用戶口令,于是它只好在屏幕上顯示如下 :

信息并允許用戶以系統(tǒng)管理員身份直接進入系統(tǒng)維護態(tài):

su:Unknownid:root

/etc/tcbck:file/etc/passwd

ismissingorzerolength

/etc/tcbck:eitherslash(/)ismissingfrom

/etc/auth/system/filesortherearemalformedentries

in/etc/passwdor/etc/group

/etc/smmck:restoremissingfiles

frombackupordistribution.

INIT:SINGLEUSERMODE

****PASSWORDFILEMISSING!****

EnteringSystemMaintenanceMode

#

----進入維護態(tài)后,當然就可以為所欲為了。但最好先設(shè)置一個新的超級用戶口令。要想這樣做,首先必須恢復passwd文件名。

#mv/etc/zls/etc/passwd

----然后,就可以用/bin/passwd命令設(shè)置新的超級用戶口令了。

結(jié)束語

----在本文行將結(jié)束時,我們再來作一個小小的總結(jié)。

----傳統(tǒng)方案有操作平臺、操作工具和操作對象局限性。新方案則突破了這三大局限性。

----一、新方案突破了操作平臺局限性。傳統(tǒng)方案的操作平臺必須是UNIX,而新方案則是DOS。DOS比UNIX普及得多,中國的絕大部分計算機用戶對UNIX陌生,但對DOS卻相當熟悉,使用起來也有親切感。

----二、新方案突破了操作工具局限性。傳統(tǒng)方案的操作工具必須是兩張緊急啟動軟盤,而新方案僅使用一張DOS系統(tǒng)盤,其上只需拷貝一個DEBUG.EXE文件。緊急啟動軟盤只能專盤專用,DOS系統(tǒng)盤卻不存在這個問題--用任何一臺機器上的DOS制作出的系

統(tǒng)盤,可以用來解決任何一臺機器上的UNIX超級用戶口令被忘記的問題。至于用來訪問物理硬盤的軟件,當然更不是非DEBUG不可,任何軟件--只要支持訪問物理盤--均可。作者推薦使用Norton8.0軟件包里的diskedit程序,對不懂匯編語言編程的人來說該程序無疑是一個最好的選擇。

----三、新方案突破了操作對象局限性。傳統(tǒng)方案的操作對象是文件系統(tǒng)管理下的文件,而新方案撇開了文件系統(tǒng),直接在底層修改數(shù)據(jù)。

----最后需要說明的是,對于SCOOpenServerRelease5,因條件所限,作者還沒有使用過,所以關(guān)于新方案在該版本上執(zhí)行時步驟是否需要修改以及如何修改的問題,如果有機會,作者會加以適當?shù)难a充。

首先需要指出,由于文章篇幅和性質(zhì)的限制,本文不可能將新方案實施過程中涉及到的所有知識以入門講座的方式加以介紹。因此,在閱讀本小節(jié)前,讀者應(yīng)具備下列基礎(chǔ):熟悉硬盤主引導扇區(qū)和UNIX分區(qū)及UNIX文件系統(tǒng)的構(gòu)造(這對UNIX系統(tǒng)管理員來說不成問題)、了解中斷13H入口參數(shù)含義、使用過DEBUG命令。一臺COMPAQDESKPROXL/466服務(wù)器,主板內(nèi)含PCISCSI-2控制器一個,上接富士通硬盤一只,該硬盤主要參數(shù)為:1041柱面,64頭,32扇。硬盤上裝有SCOUNIXSystemV/386Release3.2operatingsystemVersion4.2?,F(xiàn)在假設(shè)其超級用戶口令被忘記。首先,隨便找一臺安裝了DOS的計算機,制作一張DOS系統(tǒng)盤,并在系統(tǒng)盤上拷貝一個DEBUG.EXE文件。

C:DOS>format/sa:

C:DOS>copydebug.exea:

----然后將該盤插入COMPAQ服務(wù)器A驅(qū),開機啟動DOS操作系統(tǒng),執(zhí)行DEBUG命令。

A:>debug

現(xiàn)在我們就編寫一段匯編語言程序(以下簡稱app),來讀出硬盤0柱0頭1扇區(qū)的內(nèi)容。該扇區(qū)存放的是主引導記錄,讀出它是為了確定SCOUNIX分區(qū)的起始位置。app是調(diào)用中斷13H實現(xiàn)的,以后我們還要反復用到它,當然入口參數(shù)將隨所讀內(nèi)容物理地址的變化而變化。

-a

2039:0100MOVAX,0201

2039:0103MOVBX,1000

2039:0106MOVCX,0001

2039:0109MOVDX,0080

2039:010CINT13

2039:010EINT20

2039:0110

-g

Programterminatednormally

現(xiàn)在我們可以用dump命令查看被讀到內(nèi)存里的扇區(qū)內(nèi)容。從偏移11BEH處開始是分區(qū)表,其中類型標志字節(jié)為63H的分區(qū)是SCOUNIX分區(qū)。該分區(qū)起始于1柱面0磁頭1扇。

下面,讀出UNIX根文件系統(tǒng)i-node表的第一個扇區(qū),以確定根目錄的物理位置。

根據(jù)UNIX分區(qū)起始位置可知根文件系統(tǒng)始于2柱0頭1扇。并且,由于2柱0頭1扇是引導塊,2扇是超級塊,3、4扇為間隔,所以i-node表必定始于第5扇。

我們用app讀出它(CX的賦值應(yīng)改為0205)。

讀出后用dump命令查看偏移1040H至107FH的64個字節(jié),這就是2號i-node,即根目錄的i-node。

----下面我們就根據(jù)i-node計算根目錄在硬盤上的物理地址。

----我們從偏移1040H看起:

----ED41H表示文件類型與存取權(quán)限為drwxr-xr-x;

----1000H表示文件連結(jié)數(shù)為16;

----0000H表示文件屬主ID為0;

----0200H表示文件組ID為2;

----80020000H表示文件字節(jié)數(shù)為640個;


上一頁 1 2 下一頁

關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉