javiergayala.users
javiergayala.users
Ceci est un rôle qui crée des utilisateurs sur des serveurs.
Variables du rôle
users_list
: liste contenant des dictionnaires d’utilisateurs à ajoutername
: nom d'utilisateur à créergroups
: liste délimitée par des virgules des groupes secondaires. Par défaut, aucun.ssh_key
: chaîne de texte contenant la clé ssh publique de l'utilisateur qui sera placée dans/home/$USER/.ssh/authorized_keys
sudoers
: si défini suryes
, l'utilisateur sera ajouté au fichier sudoers du serveur.sudo_opts
: dictionnaire contenant les options à utiliser pour le fichier sudoers.passwordless
: (Booléen) par défaut à "False
". Définir sur "True
" pour permettre aux commandessudo
de ne pas demander de mot de passe.hosts
: par défaut àALL
. Hôtes sur lesquels l'utilisateur est autorisé à exécutersudo
.run_as
: par défaut à(ALL)
. Utilisateurs autorisés à exécuter des commandes sudo.commands
: par défaut àALL
. Commandes que l'utilisateur est autorisé à exécuter avecsudo
.requiretty
: (Booléen) non défini par défaut. Définir surFalse
pour désactiver l'exigence d'un TTY lorsque vous utilisez sudo.
user_sshkey_exclusive
: par défaut àno
. Le définir suryes
indique à ansible de gérer les clés dans le fichierauthorized_keys
et de supprimer celles qui ne sont pas définies dans le play.use_os_prompt
: par défaut àno
. Le définir suryes
ouTrue
fera en sorte que cet utilisateur ne utilise PAS l'invite bash spécialisée. Cela est utile pour les comptes de service, comme le compte de déploiementjenkins
ourswebteam
, ou tout compte qui n'utilise pas unTTY
.
users_list:
- name: deployment
groups: apache
ssh_key: >
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGY
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
RdK8jlqm8tehUc9c9WhQ== clé publique non sécurisée vagrant
sudoers: "yes"
sudo_opts:
passwordless: "True"
hosts: "ALL"
run_as: "(ALL)"
commands: "ALL"
requiretty: "False"
use_os_prompt: "yes"
- name: user1
ssh_key: https://github.com/javiergayala.keys
sudoers: "no"
- name: user2
Exemple de Playbook
- hosts: servers
roles:
- { role: javiergayala.users, users_list: [{ name: user1 }] }
Test
Vous aurez besoin de ce qui suit pour tester et exécuter ce rôle :
Il est fortement recommandé d'utiliser un virtualenv pour les tests :
PYENV_HOME=$WORKSPACE/.pyenv/
# Supprimer le virtualenv déjà construit
if [ -d $PYENV_HOME ]; then
rm -rf $PYENV_HOME
fi
# Créer un virtualenv et installer les paquets nécessaires
virtualenv --no-site-packages $PYENV_HOME
. $PYENV_HOME/bin/activate
pip install -r pip-requirements.txt
molecule test --all
Licence
BSD
Informations sur l'auteur
Javier Ayala [email protected]
ansible-galaxy install javiergayala.users