这要分两种情况,一种是用LILO管理器来启动的,另一种是不通过LILO启动的。如果你的系统是通过LILO管理器来启动的,可在LILO启动提示符LILO boot:后输入Linux single并回车以进入Linux系统的单用户模式,然后用passwd命令修改你的密码,完成后再重新启动系统,就可以使用新的密码了(以上方法在中文Turbo Linux 3.0.2下能通过,但在Slackware Linux下不能通过)。如果是第二种情况,修改密码就麻烦一些。Linux的技术资料介绍和目前有关媒体发表的文章,都说在这种情况下必须重新安装Linux系统。经过笔者的反复摸索,发现用以下方法可以清除Linux的密码:用Linux boot软盘启动,当出现LILO boot:提示符时,输入linux mount=/dev/xxxx,其中xxxx为Linux所在的分区,IDE硬盘的设备名为hda,第一分区为hda1(如果你的系统有两个IDE硬盘,则第二个为hdb;如果你使用的是SCSI硬盘,则硬盘的设备名为sda)。正确输入硬盘的设备及分区号后启动Linux,系统会自动将Linux的分区mount到/mnt下,这时,只要进入到/mnt/etc下,用vi命令将passwd文件中root行中的密码清除后,重新引导系统,在超级用户下执行passwd命令,重新生成一个密码即可。具体修改位置如下:root:0:0root:/root:/bin/bash
将密码这符部分的内容删掉后存盘,即可使系统没有密码。如果你的系统拥有passwd和shadow两个文件,需要修改的密码文件则是/etc下的shadow,它是passwd的一个映像,是真正存放密码的文件。
如果你的Linux系统是其它版本,不能识别linux mount=/dev/xxxx,那也有办法。目前各个版本的Linux都随盘附带有应急引导盘,一般有两张,一张是boot盘,另一张是root盘,这两张盘的命名,各个版本都差不多,前面几个字符是rescxxxx,后缀是img或gz。我所见到的是rescboot.img和rescroot.img。找到这两张盘后,使用随盘发行的IMG文件写盘命令rawrite.exe将rescboot.img、rescroot.img两个文件分别写入两张软盘,而后用这两张软盘将Linux引导起来。引导起来后,在超级用户下执行:mount/dev/xxxx/mnt #cd/mntvi/mnt/etc/passwd
将超级用户密码删除,删除方法同上。如果你的系统同时拥有passwd和shadow两个文件,仅修改shadow一个文件即可解决问题。以下是shadow密码文件root行的实际情况:root:Aan3DFTUYOEMF3 :9804:0:::::
用vi修改时,只需将带下划线部分删除掉即可删除密码。