1
0
Fork 0
mirror of https://github.com/roles-ansible/ansible_collection_users.git synced 2024-08-16 10:29:50 +02:00
ansible_collection_users/roles/admin
L3D afa417ba8e
Update README.md
Signed-off-by: L3D <l3d@c3woc.de>
2024-02-17 04:12:50 +01:00
..
defaults update docs and adding password option for user ansible 2024-02-16 18:00:07 +01:00
tasks update docs and adding password option for user ansible 2024-02-16 18:00:07 +01:00
vars update docs and adding password option for user ansible 2024-02-16 18:00:07 +01:00
README.md Update README.md 2024-02-17 04:12:50 +01:00

Ansible Role Admin

Ansible role l3d.users.admin Manage Admin-Permissions of Users.

WORK IN PROGRESS

There are two variables to define users. The l3d_users__default_users is ment to put to your group_vars to define a default for your system. The l3d_users__local_users could be put in your host_vars to define host-specific user and admin roles.

Variables:

User Management

  • The dictionary-variable for your group_vars to set your general users and admins is l3d_users__default_users.
  • The dictionary-variable for your host_vars to set your host-specific users and admins is: l3d_users__local_users. The Option of these directory-variables are the following.
option values required description
name string required The user you want to create
state present - Create or delete user
shell /bin/bash - The Shell of the User
create_home true - create a user home (needed to store ssh keys)
admin false - enable it to give the user superpowers
admin_commands string or list - Commands that are allows to be run as admin, eg. 'ALL' or specific script
admin_nopassword false - Need no Password for sudo
admin_ansible_login true - if admin: true and l3d_users__create_ansible: true your ssh keys will be added to ansible user
pubkeys string or lookup - see examples
exklusive_pubkeys true - delete all undefined ssh keys
password password hash - See official FAQ
remove false - completly remove user if state: absent

Other

name default value description
l3d_users__create_ansible true Create an Ansible User
l3d_users__ansible_user_state present Ansible user state
l3d_users__ansible_user_command ALL Commans with superpower for ansible user
l3d_users__ansible_user_nopassword true Allow superpowers without password for ansible user
submodules_versioncheck false Optionaly enable simple versionscheck of this role

Example Playbook

- name: Create superpowers for admins
  hosts: example.com
  roles:
    - {role: l3d.users.admin, tags: 'admin'}
  vars:
    l3d_users__local_users:
      - name: 'alice'
        state: 'present'
        admin: true
        admin_commands: 'ALL'
        admin_nopassword: false
        pubkeys: "{{ lookup('url', 'https://github.com/do1jlr.keys', split_lines=False) }}"
      - name: 'bob'
        state: 'present'
        admin: false
      - name: 'backup'
        state: 'present'
        admin: true
        admin_commands: '/opt/backupscript.sh'
        admin_nopassword: true
        admin_ansible_login: false
    l3d_users__create_ansible: true
    submodules_versioncheck: true