天天看点

RHEL7恢复root密码Preface恢复root密码方法

Preface

几天前有个小比赛,有用到这点的知识。之所以整理出来是因为,自己在比赛的时候被晚上的给的文章啊教程啊给坑了!这么多的文章全都是一个抄一个,有多少是编者自己亲自实验的!有的方法根本就行不通,拿着旧版本的方法来套用,结果根本没有用处。我也是糊涂,没有好好自己地钻研就轻信了网上一模一样的教程。比赛后的几天,我特地找了网上的很多文章,并亲自去实验,将现行可用的方法与注意点整理出来。(因为没有考证具体的背后的原理,此处只贴出做法。)

恢复root密码方法

方法一:

rd.break方法:

1. 进入菜单

在启动页面的启动项时,按下e进入编辑菜单

2. 修改启动参数

在linux16开头的地方,按End跳都末尾,输入

rd.break

如下图1所示
RHEL7恢复root密码Preface恢复root密码方法

图1

3. 更改读写状态

因为默认情况下,mount后,/sysroot的权限

ro=readonly

,无法修改/sysroot/etc/shadow文件,不信的可以自己做下实验,就会发现shadow文件不可写。如图2。

mount -o remount,rw /sysroot
RHEL7恢复root密码Preface恢复root密码方法

图2

4. 改变根chroot

chroot /sysroot

5. 修改root用户的密码

echo “RedHat” | passwd –stdin root

6. 让SELinux生效

touch /.autorelabel

7. 退出当前

按Ctrl+D退出当前状态

8. 重启进入系统

reboot

方法二:

init=/bin/sh方法:

1. 进入菜单

在启动页面的启动项时,按下e进入编辑菜单

2. 修改启动参数

在linux16开头的地方,按End跳都末尾,将

rhgb quiet

修改成

init=/bin/sh

如下图3所示:
RHEL7恢复root密码Preface恢复root密码方法

图3

RHEL7恢复root密码Preface恢复root密码方法

PS:此处一定要把

rhgb quiet

给去掉并修改成

init=/bin/sh

,虽然同样可以进入到/bin/sh中,不过会导致图4的情况:

RHEL7恢复root密码Preface恢复root密码方法

图4

3.同方法一一样的思路步骤

mount -o remount,rw /

echo “RedHat” | passwd –stdin root

touch /.autorelable

exec /sbin/init

方法三:

rw=/sysroot/bin/sh方法:

同方法二一样,只是不需删除

rhgb quiet

,只需把

ro

改成

rw=/sysroot/bin/sh

即可。如图5所示:

RHEL7恢复root密码Preface恢复root密码方法

图5

继续阅读