新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 用DOS命令解除UNIX管理員密碼

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

        作者: 時間:2016-09-12 來源:網絡 收藏

        對于SCOUNIX操作系統管理員來說,最不可原諒的過失之一就是忘記了 管理員口令(即超級用戶口令)。這個過失會導致極其嚴重的后果,對此凡是具備UNIX 操作系統常識的人都應該知道。然而令人遺憾的是,時至今日鑄錯者依然大有人在。看 來,對他們固然要責備,但既然問題客觀存在,我們就總還須面對現實,想辦法去解決才是。

        本文引用地址:http://www.104case.com/article/201609/304592.htm

        長期以來,許多人就超級用戶口令被忘記的問題發表了各種看法。一部分人認 為,一旦忘記了超級用戶口令,只能重裝操作系統,此外別無它法。另一部分人則堅決 反對這種重裝論,他們提出了一些經過成功實踐的解決方案,使得重裝論者敗下陣來。現在我們可以肯定地說,忘記超級用戶口令是有辦法解決的。

        但同時我們也不得不承認,現行的解決方案有很大的局限性,這些局限性決定了現有方案無論怎樣變化和發展也不可能成為一種有著強大生命力的最徹底的解決方案。

        傳統解決方案的局限性

        上面已經談到,目前有多種針對超級用戶口令被忘記問題的解決方案。為了敘述上的方便,本文將這些方案統稱為傳統解決方案。傳統方案乍看起來似乎各不相同,但必須有一套(兩張)EmergencyBootFloppy(緊急啟動軟盤)。這套軟盤均為文件系統

        格式,必須在SCOUNIX上制作,并且在不同類型機器上制作的緊急啟動軟盤相互不能通用。用緊急啟動軟盤啟動后,將硬盤根文件系統mount到某個目錄下(一般為/mnt目錄),然后進入該目錄(即進入硬盤根文件系統的根目錄),修改相關目錄下與超級用戶口令有關的信息(各種方案的不同之處主要體現于此)。最后回到軟盤根目錄,拆卸/dev/hd0root,重啟機器。

        這些共同點實際上反映了傳統方案的局限性:

        一、操作平臺局限性:要求自始至終必須在SCOUNIX操作系統平臺上實施。

        二、操作工具局限性:對緊急啟動軟盤的依賴性太大。萬一軟盤發生損毀,必須找一臺類型相同的機器再制作一套,這就是前面所說的專盤專用的限制。

        三、操作對象局限性:必須依靠硬盤根文件系統的支持。即操作者與修改對象(指與超級用戶口令有關的信息)被文件系統隔開,操作者不能直接修改對象,只能調用文件系統提供的服務修改。這種方式本是信息科學中倡導的層次化思想的一種體現,在

        正常情況下應予稱道;但任何事物都是有兩面性的,在非常情況下--諸如解決忘記超級用戶口令這一類問題時--該方式反而有可能帶來麻煩。三大局限性說明了傳統解決方案可行性的脆弱和狹窄,也決定了它們作為凌駕于文件系統之上的高層方案所必然具有的弊端。于是,打破這些局限性,探索出一種全新的解決方案,就成為了擺在一切UNIX研究者面前的新課題。

        所謂新課題,就是找到一種能夠突破傳統方案局限性的新方案。究竟從何處下手呢?讓我們再來看一看三大局限性。

        操作平臺局限性似乎不好突破,因為其它操作系統識別不了UNIX的文件系統格式。

        操作工具局限性好象就更難了,因為緊急啟動軟盤既要在UNIX上制作,又要在UNIX上使用,所以如果操作平臺局限性突破不了,它就更突破不了。最后看看操作對象局限性。操作對象完全由文件系統管理,操作者必須通過文件系統訪問它們。萬一文件系統崩潰,那么即使它下面的文件完好無損,操作者也只能認為這些文件已全部丟失--因為文件系統無法訪問(例如mount不上來)。其實這個時候還是有辦法找到那些文件的,方法就是直接訪問物理硬盤。道理很簡單:就本質而言,文件系統只不過是一個構筑于物理硬盤之上的邏輯組織,平時我們是通過它來訪問物理硬盤的;現在這個組織壽終正寢,不能再為我們服務了,于是我們只好自己動手,豐衣足食。直接訪問物理硬盤不但可以使文件失而復得,而且還有另外一個重要意義--突破了操作對象局限性。

        操作對象局限性一旦突破,我們就會驚奇地發現突破另外兩大局限性簡直可以說是順理成章了。因為雖然其它操作系統識別不了UNIX的文件系統格式,但在任何操作系統上,我們都可以訪問物理硬盤;而只要是帶有訪問物理硬盤功能的軟件,都可以成為我們的操作工具。

        現在我們要做的僅僅是:找一個大家最熟悉的操作系統和一個最易尋覓的可以訪問物理硬盤的軟件。

        大家最熟悉的操作系統無疑是DOS。可以訪問物理硬盤的軟件很多,但最易尋覓的莫過DEBUG.EXE。所謂最易尋覓,是因為DEBUG是DOS本身的一條外部命令,可以說只要是在安裝了DOS的機器上都可以找到它。對DEBUG略知一二的人可能會指出該命令并

        沒有提供訪問物理硬盤的選項,但請不要忘記DEBUG是DOS提供給用戶的一個匯編語言調試程序,我們完全可以利用它編寫、調試和執行一個匯編小程序去訪問物理硬盤。應該說,這對一個能夠取得系統管理員身份的人并不困難。綜上所述,在DOS上運行DEBUG來破除UNIX管理員口令,這就是本文提出的解決SCOUNIX超級用戶口令被忘記問題的新方案。 新方案的應用新方案已經提出,下面我們來看看它是如何應用于實踐的。

        ----DA0500H表示第一個數據塊地址。由于其它12個數據塊地址均為0,所以可斷定根目錄在硬盤上只占了一個數據塊。現在我們必須依據DA0500H計算出這個數據塊存放在硬盤的第幾柱面、第幾磁頭、第幾扇區。計算公式如下:

        C=TRUNC(P/(H*S))

        C1=C0+C

        H1=TRUNC((P-C*H*S)/S)

        S1=P-C*H*S-H1*S+1

        ----其中:

        ----C1、H1、S1分別為數據塊物理地址柱面號、磁頭號、扇區號

        ----P等于數據塊地址翻譯成十進制數后再乘以2

        ----H為硬盤磁頭數

        ----S為每磁頭扇區數

        ----C0為根文件系統起始柱面

        ----C只是一個中間量

        ----將DA0500H代入上述公式,并根據H=64,S=32,C0=2,可算出C1=3,H1=29,S1=21。因此根目錄在硬盤上的物理地址為:3柱面29頭21扇。

        ----用app把它讀出來(

        CX和DX的賦值應分別改為0315和1D80)。

        ----讀出后用dump命令查看,可以發現偏移1050H至105FH是/etc目錄的i-node號和文件名,其中i-node號為22H,即34D。因為每個扇區有8個i-node,所以34號

        i-node必定在2柱面0頭9扇。


        上一頁 1 2 下一頁

        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 通许县| 五台县| 江永县| 梅州市| 定日县| 六盘水市| 罗山县| 三原县| 樟树市| 湟源县| 星座| 罗城| 高雄县| 金沙县| 赞皇县| 南涧| 镇康县| 遵化市| 萨迦县| 郧西县| 仁化县| 蒙城县| 双辽市| 西乌| 天全县| 依兰县| 贵南县| 南召县| 裕民县| 苍山县| 宁武县| 固始县| 合水县| 淮安市| 凌云县| 鄂温| 盐山县| 长兴县| 嘉鱼县| 绵竹市| 威远县|