7.2. 使用 bootloader RHEL 系统角色,使用密码保护引导菜单


您可以使用 bootloader RHEL 系统角色,以自动的方式为 GRUB 引导菜单设置密码。这样,您可以有效地防止未经授权的用户修改引导参数,并更好地控制系统引导。

先决条件

流程

  1. 将您的敏感变量存储在一个加密文件中:

    1. 创建 vault :

      $ ansible-vault create ~/vault.yml
      New Vault password: <vault_password>
      Confirm New Vault password: <vault_password>
      Copy to Clipboard Toggle word wrap
    2. ansible-vault create 命令打开编辑器后,以 <key>: <value> 格式输入敏感数据:

      pwd: <password>
      Copy to Clipboard Toggle word wrap
    3. 保存更改,并关闭编辑器。Ansible 加密 vault 中的数据。
  2. 创建一个包含以下内容的 playbook 文件,如 ~/playbook.yml

    ---
    - name: Configuration and management of GRUB boot loader
      hosts: managed-node-01.example.com
      vars_files:
        - ~/vault.yml
      tasks:
        - name: Set the bootloader password
          ansible.builtin.include_role:
            name: redhat.rhel_system_roles.bootloader
          vars:
            bootloader_password: "{{ pwd }}"
            bootloader_reboot_ok: true
    Copy to Clipboard Toggle word wrap

    示例 playbook 中指定的设置包括以下内容:

    bootloader_password: "{{ pwd }}"
    变量确保使用密码保护引导参数。
    bootloader_reboot_ok: true
    角色检测到需要重启才能使更改生效,并对受管节点执行重启。
    重要

    更改引导装载程序密码不是幂等事务。这意味着,如果您再次应用同样的 Ansible playbook,则结果将不一样,并且受管节点的状态将改变。

    有关 playbook 中使用的所有变量的详情,请查看控制节点上的 /usr/share/ansible/roles/rhel-system-roles.bootloader/README.md 文件。

  3. 验证 playbook 语法:

    $ ansible-playbook --syntax-check --ask-vault-pass ~/playbook.yml
    Copy to Clipboard Toggle word wrap

    请注意,这个命令只验证语法,不会防止错误但有效的配置。

  4. 运行 playbook:

    $ ansible-playbook --ask-vault-pass ~/playbook.yml
    Copy to Clipboard Toggle word wrap

验证

  1. 在受管节点上,在 GRUB 引导菜单屏幕中按 e 键进行编辑。

  2. 提示您输入用户名和密码:

    输入 username: root
    引导装载程序用户名始终是 root,您不需要在 Ansible playbook 中指定它。
    输入 password: <password>
    引导装载程序密码对应于您在 vault.yml 文件中定义的 pwd 变量。
  3. 您可以查看或编辑特定引导装载程序条目的配置:

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat