Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
  • v1.14.7
  • v1.14.6
  • v1.14.5
  • v1.14.4
  • v1.14.3
  • v1.14.2
  • v1.14.1
  • v1.14.0
  • v1.13.2
  • v1.13.1
  • v1.13.0
  • v1.12.1
  • v1.12.0
  • v1.11.1
  • v1.11.0
  • v1.10.0
  • v1.9.2
  • v1.9.1
  • v1.9.0
  • v1.8.4
21 results

README-sudorule.md

Blame
    • Rafael Guterres Jeffman's avatar
      d859ddc7
      sudorule: Add support for 'hostmask' parameter · d859ddc7
      Rafael Guterres Jeffman authored
      The hostmask parameter allows matching a sudorule against a network
      address, and was missing from ipasudorule module.
      
      Documentation and tests were updated to reflect changes.
      
      Two new example playbooks are available:
      
          playbooks/sudorule/ensure-sudorule-hostmask-member-is-absent.yml
          playbooks/sudorule/ensure-sudorule-hostmask-member-is-present.yml
      d859ddc7
      History
      sudorule: Add support for 'hostmask' parameter
      Rafael Guterres Jeffman authored
      The hostmask parameter allows matching a sudorule against a network
      address, and was missing from ipasudorule module.
      
      Documentation and tests were updated to reflect changes.
      
      Two new example playbooks are available:
      
          playbooks/sudorule/ensure-sudorule-hostmask-member-is-absent.yml
          playbooks/sudorule/ensure-sudorule-hostmask-member-is-present.yml

    Sudorule module

    Description

    The sudorule (Sudo Rule) module allows to ensure presence and absence of Sudo Rules and host, hostgroups, users, and user groups as members of Sudo Rule.

    Features

    • Sudo Rule management

    Supported FreeIPA Versions

    FreeIPA versions 4.4.0 and up are supported by the ipasudorule module.

    Requirements

    Controller

    • Ansible version: 2.8+

    Node

    • Supported FreeIPA version (see above)

    Usage

    Example inventory file

    [ipaserver]
    ipaserver.test.local

    Example playbook to make sure Sudo Rule is present:

    ---
    - name: Playbook to handle sudorules
      hosts: ipaserver
      become: true
    
      tasks:
      # Ensure Sudo Rule is present
      - ipasudorule:
          ipaadmin_password: SomeADMINpassword
          name: testrule1

    Example playbook to make sure sudocmds are present in Sudo Rule:

    ---
    - name: Playbook to handle sudorules
      hosts: ipaserver
      become: true
    
      tasks:
      # Ensure Sudo Rule is present
      - ipasudorule:
          ipaadmin_password: SomeADMINpassword
          name: testrule1
          allow_sudocmd:
          - /sbin/ifconfig
          action: member

    Example playbook to make sure sudocmds are not present in Sudo Rule:

    ---
    - name: Playbook to handle sudorules
      hosts: ipaserver
      become: true
    
      tasks:
      # Ensure Sudo Rule is present
      - ipasudorule:
          ipaadmin_password: SomeADMINpassword
          name: testrule1
          allow_sudocmd:
          - /sbin/ifconfig
          action: member
          state: absent

    Example playbook to make sure Sudo Rule is absent:

    ---
    - name: Playbook to handle sudorules
      hosts: ipaserver
      become: true
    
      tasks:
      # Ensure Sudo Rule is present
      - ipasudorule:
          ipaadmin_password: SomeADMINpassword
          name: testrule1
          state: absent

    Variables

    Variable Description Required
    ipaadmin_principal The admin principal is a string and defaults to admin no
    ipaadmin_password The admin password is a string and is required if there is no admin ticket available on the node no
    ipaapi_context The context in which the module will execute. Executing in a server context is preferred. If not provided context will be determined by the execution environment. Valid values are server and client. no
    ipaapi_ldap_cache Use LDAP cache for IPA connection. The bool setting defaults to yes. (bool) no
    name | cn The list of sudorule name strings. yes
    description The sudorule description string. no
    usercategory | usercat User category the rule applies to. Choices: ["all", ""] no
    hostcategory | hostcat Host category the rule applies to. Choices: ["all", ""] no
    cmdcategory | cmdcat Command category the rule applies to. Choices: ["all", ""] no
    runasusercategory | runasusercat RunAs User category the rule applies to. Choices: ["all", ""] no
    runasgroupcategory | runasgroupcat RunAs Group category the rule applies to. Choices: ["all", ""] no
    nomembers Suppress processing of membership attributes. (bool) no
    host List of host name strings assigned to this sudorule. no
    hostgroup List of host group name strings assigned to this sudorule. no
    hostmask List of host masks of allowed hosts no
    user List of user name strings assigned to this sudorule. no
    group List of user group name strings assigned to this sudorule. no
    allow_sudocmd List of sudocmd name strings assigned to the allow group of this sudorule. no
    deny_sudocmd List of sudocmd name strings assigned to the deny group of this sudorule. no
    allow_sudocmdgroup List of sudocmd groups name strings assigned to the allow group of this sudorule. no
    deny_sudocmdgroup List of sudocmd groups name strings assigned to the deny group of this sudorule. no
    sudooption | options List of options to the sudorule no
    order | sudoorder Integer to order the sudorule no
    runasuser List of users for Sudo to execute as. no
    runasgroup List of groups for Sudo to execute as. no
    action Work on sudorule or member level. It can be on of member or sudorule and defaults to sudorule. no
    state The state to ensure. It can be one of present, absent, enabled or disabled, default: present. no

    Authors

    Rafael Jeffman