在重要的计算机应用领域中,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用户密码失效问题的有效方法。