2007-03-04

[转]找回Linux root超级用户密码

//原文
笔者的机器上装有Redhat Linux7.2操作系统,安装了KDE和GNOME桌面,因在安装时只设了超级用户root,但超级用户的权限太大了,只适用于系统维护及安装软件时使用,平常使用应该用普通用户来登录。所以需要新建一个普通用户。这倒也简单,打开“菜单→系统→账号管理器”,添加一个用户不就得了!可麻烦事就来了:退出以后再用root登录,输入密码,啊!密码错误,进不了系统了。我知道Redhat7.2下用户密码是保存在/etc/shadow里,应从这里寻找突破口。

  1、把系统安装光盘插入,重启机器,启动时迅速按下Del键,进入CMOS,把启动顺序改为光盘先启动,这样就启动了Linux安装程序,按F5,按提示打入 Linux rescue回车,进入救援模式,接下来是选择语言及键盘,直接回车即可,程序提示已经把硬盘上的Linux系统安装到了/mnt/sysimage下,然后出现了超级用户提示符#。

  2、进入到硬盘etc目录下:cd /mnt/sysimage/etc,先做备份防不测:

  cp shadow shadow.old 修改shadow文件的属性为可写:chmod +w shadow 然后用vi修改之:找到含root用户信息的那一行:root:....:,前两个冒号之间就是加密的密码,把它删除掉(冒号不能删),存盘退出。这样 root的密码就为空了。

  不会用vi的用户可以采取如下方法:找一张DOS盘插入软驱,把Shadow拷贝到DOS盘上:mcopy shadow a:/ 然后在Windows下用附件中的记事本修改之,注意打开文件类型一定要选所有文件(*.*),存盘退出。最后再拷回:

  mcopy a:/shadow mnt/sysimage/etc

  3、把Shadow的属性改回只读:chmod -w shadow,最后输入Exit退出,取出光盘。

  4、为安全起见,重启后应在终端窗口中再给root加上密码。

No comments: