Skip to content

Latest commit

 

History

History
86 lines (67 loc) · 3.63 KB

File metadata and controls

86 lines (67 loc) · 3.63 KB

Ansible Role jm1.cloudy.users

This role helps with managing UNIX users from Ansible variables. It allows to add, modify and delete UNIX users with variable users_config which is defined as a list where each list item is a dictionary of parameters that will be passed to Ansible's user module. For example, to ensure an user for Ansible exists and its password is locked, define variable users_config in group_vars or host_vars as such:

users_config:
- # Ensure user for Ansible exists and its password is lock
  name: '{{ ansible_user }}'
  password_lock: true
  shell: '/bin/bash'
  state: present

Tested OS images

Available on Ansible Galaxy in Collection jm1.cloudy.

Requirements

None.

Variables

Name Default value Required Description
users_config [] false List of parameter dictionaries for Ansible's user module

Dependencies

None.

Example Playbook

- hosts: all
  become: true
  vars:
    # Variables are listed here for convenience and illustration.
    # In a production setup, variables would be defined e.g. in
    # group_vars and/or host_vars of an Ansible inventory.
    # Ref.:
    # https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html
    # https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html
    users_config:
    - # Ensure user for Ansible exists and its password is lock
      name: '{{ ansible_user }}'
      password_lock: true
      shell: '/bin/bash'
      state: present
  roles:
  - name: Setup local users
    role: jm1.cloudy.users
    tags: ["jm1.cloudy.users"]

For instructions on how to run Ansible playbooks have look at Ansible's Getting Started Guide.

License

GNU General Public License v3.0 or later

See LICENSE.md to see the full text.

Author

Jakob Meng @jm1 (github, galaxy, web)