忘记自己设置的Ubuntu的登录密码了?那就要重设一下密码了,通过Recovery Mode,我们可以很轻松地重设自己的帐户密码。

 

在开机引导到GRUB等待界面(GRUB loading, please wait…)这里的时候按下ESC键来进入启动菜单,如下所示:

忘记Ubuntu的登陆密码?这样来重设!_第1张图片

按下ESC键之后就可以选择相应内核版本的Recovery Mode,如下所示:

当引导到Recovery Menu的时候选择“root       Drop to root shell prompt”,如下图所示:

 

这就会以root登录终端,使用命令passwd来重设密码,比如我的帐户名是shixinyu,要重设密码的命令是: 

$passwd shixinyu

输入两边要重设的新密码即可。这就可以使用reboot或shutdown –r now来重启并用新密码来登录Ubuntu了。只要可以物理接触到Ubuntu机器,登录密码就可以非常容易的重设,这对于常常忘记自己帐户密码的人是很方便(老是忘记自己帐户密码的人恐怕不适合用带有密码的产品吧,囧~),但这同时对于那些非常注重自己的Ubuntu机器的安全性的人又是一个安全隐患。其实之所以用上述方法如此容易给自己帐户重设密码的原理就在于Ubuntu默认没有给root帐户设置密码,所以可以通过进入Recovery Mode来使用root登录终端,只要给root帐户设置了密码就可以阻拦通过这种方式重设密码的隐患了。给root帐户重设密码: 

$sudo passwd root



以上方法实验过,证明有效!



(如果你在这个界面出现 bash:passwd not found.或者:bash:* not found)

1.在grub选项菜单'Debian GNU/Linux,...(recovery mode)',按e进入编辑模式
2.编辑kernel那行最后面的 ro single 改成 rw single init=/bin/bash,按b执行重启
3.进入后执行下列命令(我自己验证过了)
root@(none)#mount -a
root@(none)#passwd root
root@(none)#reboot

在Grub的界面将启动参数的kernel项后增加一参数 init=/bin/bash
启动后将得到一个shell,此时,根分区的挂载模式默认是只读,要将其改为可写,否则不能更改root密码:
mount -no remount,rw /
passwd root
sync
mount -no remount,ro /
reboot


原文出处:http://blog.sina.com.cn/s/blog_60e74b5d01018tk8.html