重置 root 密码

      忘记root密时有发生况,这时候该怎么办呢?本文将以CentOS 8.5 、Debian 12 为例,详细介绍如何在系统引导时重置红帽Linux系统的root密码。

一、CentOS、RHEL

1.1 方法一

  1. 重启系统,在 GRUB 2 引导屏幕上按【 e 】  键中断引导过程。此时会出现内核引导参数。

load_video
set gfx_payload=keep
insmod gzio
linux ($root)/vmlinuz-5.14.0-70.22.1.e19_0.x86_64 root=/dev/mapper/rhel-root ro crash\
kernel=auto resume=/dev/mapper/rhel-swap rd.lvm.lv/swap rhgb quiet
initrd ($root)/initramfs-5.14.0-70.22.1.e19_0.x86_64.img $tuned_initrd

 2.进入以 linux 开头的行的末尾。

linux ($root)/vmlinuz-5.14.0-70.22.1.e19_0.x86_64 root=/dev/mapper/rhel-root ro crash\
kernel=auto resume=/dev/mapper/rhel-swap rd.lvm.lv/swap rhgb quiet

按 【Ctrl+e】 键跳到这一行的末尾

3.在以 linux 开头的行的最后添加 rd.break

linux ($root)/vmlinuz-5.14.0-70.22.1.e19_0.x86_64 root=/dev/mapper/rhel-root ro crash\
kernel=auto resume=/dev/mapper/rhel-swap rd.lvm.lv/swap rhgb quiet rd.break

4.按 【Ctrl+x 】使用更改的参数启动系统。

此时会出现 switch_root 提示符。

5.将文件系统重新挂载为可写:

mount -o remount,rw /sysroot

文件系统以只读模式挂载到 /sysroot 目录中。将文件系统重新挂载为可写才可以更改密码。

6.进入 chroot 环境:

chroot /sysroot

此时会出现 sh-4.4# 提示符。

7.重置 root 密码:

passwd

按照命令行中的步骤完成 root 密码的更改。

8.在下次系统引导时启用 SELinux 重新标记进程:

touch /.autorelabel

9.退出 chroot 环境:

exit

10.退出 switch_root 提示符:

exit

11.等待 SELinux 重新标记过程完成。请注意,重新标记一个大磁盘可能需要很长时间。系统会在这个过程完成后自动重启。

验证步骤

    • 要验证 root 密码是否已成功更改,请以普通用户身份登录并打开 Terminal。
    • 以 root 用户身份运行

      su

    • 输入新的 root 密码。
    • 显示与当前有效用户 ID 关联的用户名:

whoami

输出返回:

root

1.2 方法二

  1. 重启系统,在 GRUB 2 引导屏幕上按【 e 】  键中断引导过程。此时会出现内核引导参数。

load_video
set gfx_payload=keep
insmod gzio
linux ($root)/vmlinuz-5.14.0-70.22.1.e19_0.x86_64 root=/dev/mapper/rhel-root ro crash\
kernel=auto resume=/dev/mapper/rhel-swap rd.lvm.lv/swap rhgb quiet
initrd ($root)/initramfs-5.14.0-70.22.1.e19_0.x86_64.img $tuned_initrd

 2.进入以 linux 开头的行。

linux ($root)/vmlinuz-5.14.0-70.22.1.e19_0.x86_64 root=/dev/mapper/rhel-root ro crash\
kernel=auto resume=/dev/mapper/rhel-swap rd.lvm.lv/swap rhgb quiet

 按 【Ctrl+e】 键跳到这一行的末尾

3.进入以 linux 开头的行,把 ro 改为 rw ,末尾增加 init=/bin/sh 或 init=/bin/bash

改后如图:

linux ($root)/vmlinuz-5.14.0-70.22.1.e19_0.x86_64 root=/dev/mapper/rhel-root rw crash\
kernel=auto resume=/dev/mapper/rhel-swap rd.lvm.lv/swap rhgb quiet init=/bin/sh

4.按 【Ctrl+x 】使用更改的参数启动系统。

此时会出现 提示符。

5.可直接输入 passwd 修改密码:

#暂定 newpwd 是新密码。

echo newpwd | passwd --stdin root

6.在下次系统引导时启用 SELinux 重新标记进程:

touch /.autorelabel

9.运行命令 exec /sbin/init 来正常启动,或者用命令 exec /sbin/reboot 重启

exec /sbin/reboot
exec /sbin/init

验证步骤

  1. 要验证 root 密码是否已成功更改,请以普通用户身份登录并打开 Terminal。以 root 用户身份运行。
    su
    • 输入新的 root 密码。
    • 显示与当前有效用户 ID 关联的用户名:

whoami

输出返回:

root

二、Debian、ubuntu

1.重启系统,在 GRUB 2 引导屏幕上按【 e 】  键中断引导过程。此时会出现内核引导参数。

2..进入以 linux 开头的行,把 ro 改为 rw ,末尾增加 init=/bin/sh 或 init=/bin/bash

改后如图:

3.按 【Ctrl+x 】使用更改的参数启动系统。

此时会出现 # 提示符。

4.可直接输入 passwd 修改密码:

 5.运行命令 exec /sbin/init 来正常启动,或者用命令 exec /sbin/reboot 重启

exec /sbin/reboot
exec /sbin/init

三、参考链接

RHEL Linux 重置密码icon-default.png?t=N7T8https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/9/html-single/configuring_basic_system_settings/index#resetting-the-forgotten-root-password-on-boot_changing-and-resetting-the-root-password-from-the-command-line

  • 26
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值