Users
#####
An Ansible role to create users. The use case is to replace setting up an LDAP
or NIS server. The role also installs sudo and creates a sudoers group that can
use sudo with a password. A password is also set if provided. For generating the
password hash needed, under Debian run: :code:`echo MyPassword | mkpasswd -m
sha-512 -s` and under OpenBSD run: :code:`echo MyPassword | encrypt`. If
provided, email alias and SSH authorized keys are set. If
:code:`users_lock_root` is set to :code:`True` (by default it is) then local and
SSH root login is disabled.
Requirements
------------
- `Ansible 2.0 or later `_.
- The following OSes:
- `OpenBSD 5.9 or later `_ (older versions should
work but aren't tested).
- `Debian Jessie or later `_ (older versions should
work but aren't tested, Ubuntu should also work).
Role Variables
--------------
.. code:: yaml
users:
- name: mandatory
groups: optional, list of other groups
shell: optional
uid: optional
password: optional
pubkeys: optional list of public SSH keys
email: optional, used for mail forwarding
users_lock_root: boolean, default to True
Dependencies
------------
See :code:`meta/main.yml`.
Example Playbook
----------------
See :code:`tests/playbook.yml`.
Testing
-------
To install the dependencies:
.. code:: shell
ansible-galaxy install git+file://$(pwd),$(git rev-parse --abbrev-ref HEAD)
To run the full test suite:
.. code:: shell
molecule test
License
-------
This software is licensed under the MIT license (see the :code:`LICENSE.txt`
file).
Author Information
------------------
Nimrod Adar, `contact me `_ or visit my `website
`_. Patches are welcome via `git send-email
`_. The repository is located
at: https://www.shore.co.il/git/.