搜索

9.6. 更改和重置根密码

download PDF

如果需要更改现有的根密码,可以以 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 密码。

流程

  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 重新标记过程完成。请注意,重新标记一个大磁盘可能需要很长时间。系统会在这个过程完成后自动重启。

验证

  1. 要验证 root 密码是否已成功更改,请以普通用户身份登录并打开 Terminal。
  2. 以 root 用户身份运行交互式 shell:

    $ su
  3. 输入新的 root 密码。
  4. 显示与当前有效用户 ID 关联的用户名:

    # whoami

    输出返回:

    root
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.