在重要的計算機應用領域中,UNIX系統起著主導作用。UNIX具有很強的可伸縮性、健壯性,完全支持Internet和良好的用戶界面,是其它非UNIX系統無法做到和替代的。目前,UNIX覆蓋了大多數銀行、電信、保險、證券、鐵路等系統應用,即使在Internet應用方面,使用的也絕大多數是各計算機廠商提供的各種UNIX系統,可以說UNIX無處不在。
SCO公司的SCO UNIX系列產品在全球市場份額所占的比重相當大。由於SCO UNIX不依賴於任何硬件平台,在基於Intel公司的芯片的個人計算機和網絡系統上就可以運行,因此具有成本低廉、維護簡便的特點,受到廣大用戶的好評和歡迎。
在國內,各商業銀行的營業點、各保險公司、郵電等行業中都在使用SCO UNIX。SCO UNIX運行相當穩定,對系統硬件的要求不高,所以一向受到國內各有關金融部門的青睐。
SCO UNIX本身的可靠性是相當高的,很少出現什麼問題,但人為操作有時會造成一些麻煩甚至是致命的問題,其中之一就是因為種種原因導致root超級用戶的密碼失效(因為一段時間沒有使用而將密碼忘記了或者被其他知道密碼的人有意無意地修改了)。這種情況一旦發生,後果是非常嚴重的:不可能再安裝新的軟件或者硬件設備,無法對現有硬件設備的參數進行任何修改,不能對用戶進行任何管理,某些必須使用超級用戶權限才能運行的程序和命令也將無法使用,一切系統管理工作都將陷於癱瘓。發生這種情況的時候,一般只能通過重新安裝系統來解決。但這樣一來一則有可能丟失一些重要的程序和數據(因為許多文件可能沒有權限訪問,所以無法備份出來);二則要耗費相當多的時間來重新安裝系統及調試應用程序(很多應用程序都有許多隨機的參數需要根據具體情況調整,特別是一些涉及到通信的應用程序),因此這只是一個沒有辦法時的辦法。本人在工作中經過多次試驗發現了更加簡單而有效的解決方法,現整理出來供大家參考。這種方法可以很輕易地解決以上問題,並且可以保留所有的應用程序及其相關參數。以下工作全部都是SCO UNIX5.0.5上實現的,其它版本的SCO UNIX基本與此相同,僅僅在某些細節部分有些差異。
假設有某台機器root用戶密碼被忘記了,稱它為A機;找一台安裝有同樣SCO UNIX 5.0.5系統並知道root用戶密碼的機器,稱它為B機;此外還需要2張1.44M的3寸軟盤,分別標明BOOT與ROOT,用來制作應急盤。
一、在B機以root用戶簽到,使用mkdev fd命令,畫面顯示:
1.Filesystem
2.Emergency Boot and Root floppy filesystems
Enter an option or q to quit: 輸入2後回車,畫面顯示:
1.96tpi,double sided,15 sectors per track(1.2Mb 5.25 inch)
2.135tpi,double sided,18 sectors per track(1.44Mb 3.5 inch)
3.135tpi,double sided,36 sectors per track(2.88Mb 3.5 inch)
Enter an option or q to quit: 輸入2後回車,畫面顯示:
1.Root filesystem
2.Boot filesystem
3.Single floppy Boot and Root filesystem(2.88Mb only)
If you have high density(1.44M)disks,you must create separate rootand boot filesystem floppies.The root floppy must be prepared first.If you have extra density(2.88Mb)disks,you can choose to have both the root and boot filesystems on the same floppy disk.
Enter an option or q to quit:
首先將標有ROOT的軟盤插入驅動器,之後輸入1並回車。中間程序會進行一些提問,全部回答“Y”即可。ROOT盤做完後,程序會重新回到這個畫面,之後取出ROOT盤,插入標有BOOT的軟盤,輸入2並回車,畫面顯示:
1.System specific boot
2.Generic boot(builds a special kernel)The System specific boot floppy can only boot the machine it was created on.
The Generic boot folppy can be used to boot any machine.
Enter an option or q to quit:
輸入2並回車,中間程序也會進行一些提問,同樣全部回答“Y”即可。完成後取出磁盤,輸入“q”並按回車退出。
二、仍然是在B機上,將ROOT盤插入驅動器,之後按順序輸入以下命令:
mount /dev/fd0135ds18 /mnt
cp /etc/passwd /mnt/passwd
cp /etc/shadow /mnt/shadow
cp /tcb/files/auth/r/root /mnt/root
cd
umount /dev/fd135ds18
完成以上命令後取出磁盤,至此應急盤制作完畢。
三、將BOOT盤插入A機的驅動器,並修改A機的BIOS參數,使機器從A驅開始引導。
當出現“BOOT;”提示時按回車鍵,直到機器提示要插入ROOT盤時,再將BOOT盤取出,插入ROOT盤並回車,一直等到出現“#”提示符為止。然後依次輸入以下命令:
mount /dev/hd0root /mnt
mount /dev/fd0135ds18 /tmp
cp /tmp/passwd /mnt/etc/passwd
cp /tmp/shadow /mnt/etc/shadow
cp /tmp/root /mnt/tcb/files/auth/r/root
cd
umount /dev/fd0135ds18
umount /dev/hd0root
四、將軟盤從A機取出,重新啟動A機,並將BIOS改為從硬盤引導。
當機器正常進入簽到畫面時,使用B機的root用戶密碼即可以進行root用戶簽到。
經過以上步驟即可以完全解決root用戶密碼失效的問題。
目前SCO UNIX系統被大量應用於銀行、電信、保險、證券、鐵路等行業,所有機器中存放的程序和數據都是相當重要的。在對機器進行任何處理時都要充分保證數據的完整性,如果數據損壞或丟失,後果將是災難性的;另外這些場所使用的機器如果出現任何意外,其所允許的修復時間都是很有限的,因此所有的修復工作都必須在極短時間內完成。本文所介紹的方法,實施起來方便、快捷、安全,完全符合以上的要求,因此它是處理root用戶密碼失效問題的有效方法。