Ubuntu忘记密码
Ubuntu 12.04 LTS忘记密码.
重新启动机器,在启动的过程中,按Esc(刚才偶然按着shift+Esc居然调出了Ubuntu任务管理器的图形界面,That is amazing),会看到启动选项,将焦点移动Recover mode的选项,然后,按e编辑。这样就可以编辑启动脚本,移动到最后一行,输入rw init=/bin/bash,然后回车。最后按F10,启动计算机。
这样,会看到一个recover menu的选项界面,选择“root drop to a root shell prompt”选项,然后,回车。这时在屏幕下方便会有一个命令提示的光标,在这里可以输入任何命令,包括修改密码。但是,如果直接passwd <用户名>,会提示“authorization token manipulation error”。上网搜了一下,大致原因是因为当从上面的恢复模式直接进入root时,整个文件系统会被只读挂载(dropping into a root shell from the boot loader. Turned out the filesystem was mounted read only)。因为修改密码实际上也是修改系统上的shadow文件,所以会出现错误。解决的方法是用"mount -o remount,rw /",进行remount,这样便可以用passwd进行修改密码了。修改这后,重启机器,便可以重新登录了。
说明,Ubuntu系统默认没有启用root,root账户没有固定的口令,且口令随时间变化。如果利用passwd root命令给root设置了口令,也就启用了root账户。其实,这样意义不大,因为当你需要 root 的权限时,使用 sudo 便可以了(而且,如果通过这样的方式设置了root的密码,在用上面的方式dropping into a root shell from the boot loader启动时,系统会要求输入root的口令)。当然,也可以将其禁用(锁定,lock)"sudo passwd -l root",用的时候解锁(unlock)"sudo passwd -u root"。