Chinaunix首页 | 论坛 | 博客
  • 博客访问: 289455
  • 博文数量: 72
  • 博客积分: 2108
  • 博客等级: 大尉
  • 技术积分: 715
  • 用 户 组: 普通用户
  • 注册时间: 2006-10-11 10:01
文章分类

全部博文(72)

文章存档

2008年(72)

最近访客

分类: LINUX

2008-03-11 23:42:17

root密码丢失的解决方法

常常有些朋友在设定好了linux之后,结果root密码给他忘记了!要重新安装吗?答案是不需要的~。
一般来说有两种方法可以修改root密码:

1. 进入单用户模式修改密码
对于lilo,在启动时输入

代码:
boot: linux single

对于grub, 在启动时输入“e”编辑启动项,在“kernel xxx”行末尾加“single”


代码:
kernel /boot/lfskernel-2.6.8.1 root=/dev/hda2 ro single

启动后root将不会提示密码,输入passwd可以重新设置密码

但是有一些特殊的 init 使得这一方法可能不那么顺利,比如会出现以下提示(或其他古怪信息):


代码:
Give root password for maintenance
(or type Control-D for normal startup)

那么就需要直接使用 bash 而不是系统的 init :


代码:
#对于lilo:
boot: linux init=/bin/bash
对于grub:
kernel /boot/lfskernel-2.6.8.1 root=/dev/hda2 ro init=/bin/bash


启动后会得到一个 root shell , 但硬盘是只读的, 需要重新加载:


代码:
# mount -o remount,rw /
.... 做你想做的事吧, 比如 vi /etc/passwd ....
# mount -o remount,ro /


可以重新启动了



2.:加载系统分区修改密码(适用于启动管理器有密码保护的情况)

可以使用其他linux LiveCD(如Knoppix和RedHat安装盘的rescue模式)启动,加载系统所在的分区:


代码:
mount /dev/hda2 /mnt

然后直接修改/mnt/etc/passwd,清空其中的password项



代码:
chroot /mnt
passwd

设置新密码
阅读(1527) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~