RHEL7恢复root密码

本文提供了三种有效的方法来恢复Linux系统的root密码,包括使用rd.break、init=/bin/sh以及rw=/sysroot/bin/sh等技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Preface

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


恢复root密码方法


方法一:

rd.break方法:

1. 进入菜单

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

2. 修改启动参数

在linux16开头的地方,按End跳都末尾,输入rd.break如下图1所示

rd.break

图1

3. 更改读写状态

因为默认情况下,mount后,/sysroot的权限ro=readonly,无法修改/sysroot/etc/shadow文件,不信的可以自己做下实验,就会发现shadow文件不可写。如图2。

mount -o remount,rw /sysroot

readonly

图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所示:

init

图3

normal




PS:此处一定要把rhgb quiet给去掉并修改成init=/bin/sh,虽然同样可以进入到/bin/sh中,不过会导致图4的情况:
bug

图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所示:

rw

图5

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值