9.6. 更改和重置根密码
如果需要更改现有的根密码,可以以 root
用户或一个非 root 用户重置它。
9.6.1. 作为 root 用户更改 root 密码
您可以使用 passwd
命令以 root
用户身份更改 root
密码。
先决条件
-
根
访问权限
流程
要更改
root
密码,使用:# passwd
在修改前,会提示您输入您当前的密码。
9.6.2. 以非 root 用户的身份更改或重置根密码
您可以使用 passwd
命令以非 root 用户身份更改或重置 root
密码。
先决条件
- 您可以以非 root 用户身份登录。
-
您是管理
wheel
组的成员。
流程
以
wheel
组中的非 root 用户身份修改或重置root
密码,请使用:$ sudo passwd root
此时会提示您输入当前的非 root 密码,然后才能更改
root
密码。
9.6.3. 在引导时重置 root 密码
如果您无法以非 root 用户身份登录或者不属于管理 wheel
组,则可以通过切换到一个特殊的 chroot jail
环境在引导时重置 root 密码。
流程
重启系统,在 GRUB 2 引导屏幕上按
键中断引导过程。此时会出现内核引导参数。
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
进入以 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
按
键跳到这一行的末尾。在以
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
按
使用更改的参数启动系统。此时会出现
switch_root
提示符。将文件系统重新挂载为可写:
mount -o remount,rw /sysroot
文件系统以只读模式挂载到
/sysroot
目录中。将文件系统重新挂载为可写才可以更改密码。进入
chroot
环境:chroot /sysroot
此时会出现
sh-4.4#
提示符。重置
root
密码:passwd
按照命令行中的步骤完成
root
密码的更改。在下次系统引导时启用 SELinux 重新标记进程:
touch /.autorelabel
退出
chroot
环境:exit
退出
switch_root
提示符:exit
- 等待 SELinux 重新标记过程完成。请注意,重新标记一个大磁盘可能需要很长时间。系统会在这个过程完成后自动重启。
验证
-
要验证
root
密码是否已成功更改,请以普通用户身份登录并打开 Terminal。 以 root 用户身份运行交互式 shell:
$ su
-
输入新的
root
密码。 显示与当前有效用户 ID 关联的用户名:
# whoami
输出返回:
root