最近在看高俊峰老师的《循序渐进Linux》,其中一有篇忘记Linux root密码的处理方法,总结了CentOS6、7的处理方法,书中介绍的非常详细,下面的操作都是依照书中内容一步步处理的


CentOS6处理方法:

下面操作使用CentOS6.5

(1)启动系统,待Linux系统启动到grub引导菜单时,按Esc键,如下图选中引导项

CentOS忘记root密码_root


(2)选中系统引导内核后,按e键,进入编辑状态,如下图

CentOS忘记root密码_忘记_02


(3)选中带有kernel指令的一行,按e键,编辑该行,在末尾加个空格,然后添加single

CentOS忘记root密码_root_03


(4)修改完成后,按Enter键,返回之前的界面。


(5)按b键,系统开始引导


(6)系统进行单用户模式,只启用基本服务,输入passwd设置新的root密码,键入init 3重启进入多用户模式下。使用新密码登录。


CentOS7处理方法:

下面操作使用CentOS7.2

由于7和6采用不同的引导方式,方法也不同。(7是grub26是grub)

(1)启动系统,到grub2引导菜单时,找到当前系统引导选项,按e键,如下图选中引导项

CentOS忘记root密码_忘记_04


(2)按e后,进入如下界面,向下翻页,光标定位到kernel引导行,在UTF-8后添加以下内容

init=/bin/sh

CentOS忘记root密码_忘记_05


(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)图示:

CentOS忘记root密码_centos_06