15.2. 使用 引导装载程序 RHEL 系统角色使用密码保护引导菜单


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

先决条件

流程

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

    1. 创建 vault :

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

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

    ---
    - name: Configuration and management of GRUB2 boot loader
      hosts: managed-node-01.example.com
      vars_files:
        - vault.yml
      tasks:
        - name: Set the bootloader password
          ansible.builtin.include_role:
            name: rhel-system-roles.bootloader
          vars:
            bootloader_password: "{{ pwd }}"
            bootloader_reboot_ok: true

    示例 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

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

  4. 运行 playbook:

    $ ansible-playbook --ask-vault-pass ~/playbook.yml

验证

  1. 在 GRUB2 引导菜单屏幕中,按 e 键进行编辑。

    GRUB2 引导装载程序菜单
  2. 系统将提示您输入用户名和密码:

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

    GRUB2 引导装载程序条目详情

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.