开篇前言:Linux系统的root账号是非常重要的一个账号,也是权限最大的一个账号,但是有时候忘了 root密码怎么办?总不能重装系统吧,这个是下下策,其实Linux系统中,如果忘记了root账号密码,是可以通过进入单用户模式或其它方法修改密码 的。当然,具体方式跟Boot Loader、操作系统有关系,GRUB与LILO的实现方式有所不同。
Boot Loader 是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。
下面介绍一下Red Hat Enterprise Linux 5下忘记了root密码时,如何修改root账号密码:
强制重启Linux系统,进入如下所示界面,你可以按上下键,选择一个选项后按"e"键
进入下面GRUP界面,选择“kernel /vmlinuz-2.6.18-274....”选项,再按"e"键后,编辑该选项
按向左光标,进入下下图,然后在ro或root前面加上single,按回车键后,再按"b"键启动Linux系统进入单用户模式
如下所示,启动完成后,输入passwd root 修改root账号的密码,重启系统后,问题就解决了。
不同版本的Linux,实现修改root密码的方法有所不同,这里我没法一一实验验证, 下面是我摘自参考资料的。
1:
2: 对于Redhat linux:
3: 用上下键将光标放在linux系统上,按“e”
4: 在有kernel那一行按“e”,输入“空格 single”,然后回车
5: 按“b”,启动,系统会自动进入单用户模式,
6: 使用passwd root命令,按提示输入新口令
7: 修改口令后,输入reboot 命令重启系统即可
8: 对于SUSE linux:
9: 先按"esc"键,从grub的图形界面转至字符界面
10: 然后,用上下键将光标放在linux系统上,按“e”
11: 在有kernel那一行按“e”,输入“空格 1”,然后回车
12: 按“B”启动,系统会自动进入“runlevel 1”。
13: 然后执行“passwd”,按提示输入新口令
14: 修改完口令后,输入reboot命令重启系统即可。
15: ---------------------------------------------------------------------
16: 一. lilo
17: 1. 在出现 lilo: 提示时键入 linux single
18: 画面显示 lilo: linux single
19: 2. 回车可直接进入linux命令行
20: 3. #vi /etc/shadow
21: 将第一行,即以root开头的一行中root:后和下一个:前的内容删除,
22: 第一行将类似于
23: root::......
24: 保存
25: 4. #reboot重启,root密码为空
26: 二. grub
27: 1. 在出现grub画面时,用上下键选中你平时启动linux的那一项(别选dos哟),然后按e键
28: 2. 再次用上下键选中你平时启动linux的那一项(类似于kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/),然后按e键
29: 3. 修改现在见到的命令行,有两种方法:
30: a.加入single,结果如下:
31: kernel /boot/vmlinuz-2.4.18-14 single ro root=LABEL=/
32: b.在行末加入run level,比如想进入run level 3,结果如下:
33: kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/ 3
34: 由于是忘记root密码,则可进入run level 1,结果如下:
35: kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/ 1
36: 4. 回车返回,然后按b键启动,即可直接进入linux命令行
37: 5. #vi /etc/shadow
38: 将第一行,即以root开头的一行中root:后和下一个:前的内容删除,
39: 第一行将类似于
40: root::......
41: 保存
42: 6. #reboot重启,root密码为空
43: 7. 这是网上的教程,但我实际操作时,老提示不能修改只读文件,于是先用chmod +w shadow命令将shadow文件改为可写。之前
44: 所作的修改,留下了.shadow.swp文件,使用vi shadow就没有问题了。