最近在看高俊峰老师的《循序渐进Linux》,其中一有篇忘记Linux root密码的处理方法,总结了CentOS6、7的处理方法,书中介绍的非常详细,下面的操作都是依照书中内容一步步处理的
CentOS6处理方法:
下面操作使用CentOS6.5
(1)启动系统,待Linux系统启动到grub引导菜单时,按Esc键,如下图选中引导项
(2)选中系统引导内核后,按e键,进入编辑状态,如下图
(3)选中带有kernel指令的一行,按e键,编辑该行,在末尾加个空格,然后添加single
(4)修改完成后,按Enter键,返回之前的界面。
(5)按b键,系统开始引导
(6)系统进行单用户模式,只启用基本服务,输入passwd设置新的root密码,键入init 3重启进入多用户模式下。使用新密码登录。
CentOS7处理方法:
下面操作使用CentOS7.2
由于7和6采用不同的引导方式,方法也不同。(7是grub26是grub)
(1)启动系统,到grub2引导菜单时,找到当前系统引导选项,按e键,如下图选中引导项
(2)按e后,进入如下界面,向下翻页,光标定位到kernel引导行,在UTF-8后添加以下内容
init=/bin/sh |
(3)添加完成,按ctrl+x,启动shell引导,进入单用户模式
(4)挂载根分区为可读写模式,执行如下命令
mount -o remount,rw / |
(5)如果系统中已开启SElinux,还需要在根分区中创建autorelabel文件,否则系统无法正常启动
touch /.autorelabel |
(6)执行passwd设置新root密码,密码修改完成后,直接执行reboot重启命令已无效,此时需要输入全路径命令
exec /sbin/init 或 exec /sbin/reboot |
(4、5、6)图示: