免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 594 | 回复: 0
打印 上一主题 下一主题

Linux忘记root密码怎么办 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-22 10:49 |只看该作者 |倒序浏览

Linux忘记root密码怎么办?

在机器启动到grub进行操作系统选择时,
对于Redhat linux:
用上下键将光标放在linux系统上,按“e”
在有kernel那一行按“e”,输入“空格 single”,然后回车
按“b”,启动,系统会自动进入单用户模式,
使用passwd root命令,按提示输入新口令
修改口令后,输入reboot 命令重启系统即可
对于SUSE linux:
先按"esc"键,从grub的图形界面转至字符界面
然后,用上下键将光标放在linux系统上,按“e”
在有kernel那一行按“e”,输入“空格 1”,然后回车
按“B”启动,系统会自动进入“runlevel 1”。
然后执行“passwd”,按提示输入新口令
修改完口令后,输入reboot命令重启系统即可。
---------------------------------------------------------------------  
一. lilo
     1. 在出现 lilo: 提示时键入 linux single
        画面显示 lilo:   linux single
     2. 回车可直接进入linux命令行
     3. #vi /etc/shadow
        将第一行,即以root开头的一行中root:后和下一个:前的内容删除,
        第一行将类似于
        root::......
        保存
     4. #reboot重启,root密码为空
二. grub
     1. 在出现grub画面时,用上下键选中你平时启动linux的那一项(别选dos哟),然后按e键
     2. 再次用上下键选中你平时启动linux的那一项(类似于kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/),然后按e键
     3. 修改现在见到的命令行,有两种方法:
        a.加入single,结果如下:
          kernel /boot/vmlinuz-2.4.18-14 single ro root=LABEL=/
        b.在行末加入run level,比如想进入run level 3,结果如下:
          kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/ 3
          由于是忘记root密码,则可进入run level 1,结果如下:
          kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/ 1
     4. 回车返回,然后按b键启动,即可直接进入linux命令行
     5. #vi /etc/shadow
        将第一行,即以root开头的一行中root:后和下一个:前的内容删除,
        第一行将类似于
        root::......
        保存
     6. #reboot重启,root密码为空
     7. 这是网上的教程,但我实际操作时,老提示不能修改只读文件,于是先用chmod +w shadow命令将shadow文件改为可写。之前
        所作的修改,留下了.shadow.swp文件,使用vi shadow就没有问题了。
另外还有一类,可能是比较老版本的linux,不得而知,方法如下:
  随着Linux的流行,越来越多的服务器上安装了Linux操作系统。但是问题也随之而来——忘记了服务器的密码怎么办?不用着急,使用下面介绍的三招杀手锏就可以使你在不重装Linux的情况下轻松解决密码问题。
  第一招:如果你的系统是通过LILO管理器启动的,可以在LILO启动提示符"LILO boot:"后输入"Linux single"(不包括两个双引号),回车后即可启动Linux系统进入单用户模式。这时候你就可以用passwd命令来修改你的密码了。修改完成后重新启动系统就可以使用新的密码登录了。这一着在一些系统下行得通,但是在另一些系统下则行不通。这是你可以试试用第二招来清除Linux的密码。
  第二招:用安装系统时制作的boot盘启动,当出现"LILO boot:"提示符时输入"Linux mount =/dev/xxxx" (不包括两个双引号),其中xxxx代表Linux所在的分区。在Linux中,第一个IDE硬盘的设备名是hda,所以第一硬盘的第一分区为hda1,第二分区为hda2,依此类推;第二个IDE硬盘的设备名是hdb,同理,第二硬盘的第一分区为hdb1,第二分区为hdb2,依此类推;如果你使用的是SCSI硬盘,则第一硬盘的设备名是sda,第一硬盘的第一分区为sda1,第二分区为sda2,依此类推;第二个SCSI硬盘的设备名是sdb,则第二硬盘的第一分区为sdb1,第二分区为sdb2,依此类推。正确输入硬盘的设备名及分区号后启动Linux,系统将自动把Linux的分区mount到/mnt下。这时候你只要进入/mnt/etc下,用vi命令打开passwd文件,将root行中的密码去掉,退出并保存文件。然后重新引导系统后,在超级用户下执行password命令,重新生成一个密码即可。这里需要注意一个问题:如果你的系统同时含有passwd和shadow两个文件,则需要修改的密码文件是/mnt/etc下的shadow。因为shadow是passwd的一个映像,是真正存放密码的文件。如果你的Linux系统不能识别"Linux mount =/dev/xxxx"命令也不要紧,我们还有第三招——通用方法来解决它。
  第三招:使用应急引导盘。目前各个版本的Linux都带有随盘发行的应急引导盘,一般有两张:一张是boot盘,另一张是root盘。这两张盘一般是以img或gz格式的文件存放在光盘上,文件名各个版本都差不多,主文件名形如rescxxxx,扩展名是.img或.gz。我所使用的是rescboot.img和rescroot.img。找到这两个文件后使用随盘附带的IMG文件写盘工具rawrite.exe将rescboot.img和rescroot.img分别写入两张空白磁盘,然后使用这两张盘引导Linux。启动后在超级用户下执行如下命令:
  :mount/dev/xxxx/mnt
  #cd/mnt
  vi/mnt/etc/passwd
  然后将超级用户密码删除即可,删除方法同第二招。命令中的xxxx的含义与第二招中的相同。当然,如果你的系统同时含有passwd和shadow两个文件,则只需要修改/mnt/etc下的shadow即可解决问题。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/13197/showart_1906470.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP