当前位置:Linux教程 - Linux文化 - 忘记Linux密码怎么办

忘记Linux密码怎么办


   如果忘记了Linux密码,这时有两种情况,一种是用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:SDFTYUIIOO34G :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(xxxx的解释同上述)

   #cd/mnt

   vi/mnt/etc/passwd

   将超级用户密码删除,删除方法同上。如果你的系统同时拥有passwd和shadow两个文件,仅修改shadow一个文件即可解决问题。以下是shadow密码文件root行的实际情况:root:Aan3DFTUYOEMF3 :9804:0:::::

   用vi修改时,只须将带下划线部分删除掉即可删除密码。

   (本文由 Turbolinux 公司提供)


——摘自:http://www.chinabyte.com