使用 RHEL 系统角色应用自定义 sudoers 配置

您可以使用 RHEL 系统角色在托管式节点上应用自定义配置。这样,您可以定义哪些用户可以在哪些主机上运行哪些命令,从而提高配置效率和更精细的控制。sudosudoers

程序

  1. 创建一个 playbook 文件,例如 ,其中包含以下内容:~/playbook.yml

    ---
    - name: "Configure sudo"
      hosts: managed-node-01.example.com
      tasks:
        - name: "Apply custom /etc/sudoers configuration"
          ansible.builtin.include_role:
            name: rhel-system-roles.sudo
          vars:
            sudo_sudoers_files:
              - path: "/etc/sudoers"
                user_specifications:
                  - users:
                      - <user_name>
                    hosts:
                      - <host_name>
                    commands:
                      - <path_to_command_binary>

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

    users
    规则适用的用户列表。
    hosts
    规则适用的主机列表。您可以用于所有主机。ALL
    commands

    规则适用的命令列表。您可以用于所有命令。ALL

    有关 playbook 中使用的所有变量的详细信息,请参阅控制节点上的文件。/usr/share/ansible/roles/rhel-system-roles.sudo/README.md

  2. 验证 playbook 语法:

    $ ansible-playbook --syntax-check ~/playbook.yml

    请注意,此命令仅验证语法,并不能防止错误但有效的配置。

  3. 运行 playbook:

    $ ansible-playbook ~/playbook.yml

验证

  1. 在托管式节点上,验证 playbook 是否应用了新规则。

    # cat /etc/sudoers | tail -n1
    <user_name> <host_name>= <path_to_command_binary>
声明:欢迎大家光临本站,学习IT运维技术,转载本站内容,请注明内容出处”来源刘国华教育“。如若本站内容侵犯了原著者的合法权益,请联系我们进行处理。