RTFM系列,下面是意大利在Debian的官方文件中的指示来恢复root密码。
我做了一个非常懒惰的人问我消费。
8.1.1“我忘了root密码!”(1)
“可能引导系统,并获得root帐户,即使你不知道你的密码,只需访问键盘。 (这是假设,有没有从BIOS密码的请求或如LILO引导加载程序,防止对系统的访问)。
此过程无需外部启动盘,在BIOS中没有变化。 在此背景下,“Linux”是引导内核在Debian安装标签。
在lilo启动屏幕,尽快启动:出现(在某些系统中,你必须按shift键以阻止自动启动),当lilo使用framebuffer,您按TAB看到的选项你的类型),输入:
boot: Linux init=/bin/sh
在系统引导内核,而不是其标准的init运行/ bin / sh的。 在这一点上,你已获得root权限和一个root shell。 自/安装只读和许多磁盘分区均未挂载,你必须做到以下几点,有一个合理的运作系统。
init-2.03# mount -n -o remount,rw /
init-2.03# mount -avt nonfs,noproc,nosmbfs
init-2.03# cd /etc
init-2.03# vi passwd
init-2.03# vi shadow
(如果在/ etc / passwd文件的第二个数据字段是“X”为每个用户名,您的系统使用了影子密码,你必须编辑/ etc / shadow文件。)要禁用root的密码,编辑第二场在密码文件中,因此,它是空的。 现在你可以重新启动,并在根没有密码登录。 当系统启动进入runlevel 1,Debian(至少是Potato以后的)时,需要密码,一些较老的版本没有。
这是很好的,有最小的编辑器在/ bin,/ usr是无法访问的(参阅应急的编辑器,第11.2节)。
也可以考虑安装窗扇包。 如果系统变得无法执行:
boot: Linux init=/bin/sash
sash可作为sh的交互式替代品,甚至当/ bin / sh的是不可用的。 这是静态连结,内建了许多标准工具(参考名单在提示键入“help”)。
8.1.2“我忘了root密码!”(2)
启动任何紧急启动盘/根。 如果,例如,/ dev/hda3是原始root分区,下面将让编辑密码文件一样容易以上。
# mkdir fixit
# mount /dev/hda3 fixit
# cd fixit/etc
# vi shadow
# vi passwd
这种方法比以前的方法的优点是,它需要知识的lilo密码(如有)。 然而,人们必须能够设置BIOS,如果没有,所以系统从软盘或光盘引导。
来源: http://www.debian.org/doc/manuals/reference/ch-tips.it.html










