socketwench.users-and-groups
Rôle Ansible : Utilisateurs et Groupes
Crée des utilisateurs et des groupes pour Linux Debian/Ubuntu.
Exigences
Aucune.
Variables de Rôle
Les variables disponibles sont listées ci-dessous, avec des valeurs par défaut (voir defaults/main.yml
).
Pour créer un utilisateur avec tous les défauts, et dont le groupe principal est le même que son nom d'utilisateur :
server_users:
- name: "ash"
password: "imnotarobot"
Groupes
Il n'y a pas de variable de groupes séparée. Ils font plutôt partie de la variable server_users
.
Pour spécifier le nom du groupe principal et des groupes alternatifs :
server_users:
- name: "ash"
password: "imnotarobot"
group: "nomdugroupemprincipal"
groups:
- "autregroupe"
- "plus-groupes-ici"
Clés SSH
Par défaut, tous les utilisateurs créés par ce rôle reçoivent une nouvelle clé SSH :
server_users_ssh_key_generate: yes
server_users_ssh_key_bits: "4096"
Vous pouvez également surcharger cela par utilisateur :
server_users:
- name: "ash"
password: "imnotarobot"
ssh_key_generate: yes
ssh_key_bits: "4096"
Clés autorisées SSH
Parfois, vous souhaitez également définir les clés autorisées afin que les gens puissent se connecter en utilisant des clés publiques au lieu de mots de passe. Pour le définir pour tous les utilisateurs :
server_users_auth_keys: "{{ contents_of_ssh_authorized_keys }}"
Où le contenu de la variable est le même que celui des fichiers ~/.ssh/authorized_keys
.
Vous pouvez également surcharger cela par utilisateur :
server_users:
- name: "ash"
password: "imnotarobot"
auth_keys: "{{ contents_of_ssh_authorized_keys }}"
Shell par défaut
Le shell par défaut est bash. Vous pouvez le surcharger pour tous les utilisateurs :
server_users_shell: "/bin/bash"
Vous pouvez également spécifier un shell pour un utilisateur particulier. Cela annule la valeur par défaut :
server_users:
- name: "ash"
password: "imnotarobot"
shell: "/bin/zsh"
Par défaut, le rôle ne consigne pas les actions des tâches pour des raisons de sécurité. Pour activer la journalisation :
server_users_no_log: true
Configurations Ansible
Ce rôle distribue également un fichier .ansible.cfg
dans le répertoire personnel de chaque utilisateur. Cela vous permet de modifier le chemin par défaut des rôles et les paramètres no_cows :
server_users_ansible_role_path: "~/.ansible/roles"
server_users_ansible_nocows: 1
server_users_ansible_log: false
server_users_ansible_log_path: '~/ansible.log'
Encore une fois, vous pouvez faire cela par utilisateur :
server_users:
- name: "ash"
password: "imnotarobot"
ansible_role_path: "/etc/ansible/roles"
ansible_nocows: 0
ansible_log: true
ansible_log_path: "/home/ash/logs/ansible.log"
Suppression et suppression d'utilisateurs
Vous pouvez également supprimer des utilisateurs en utilisant la variable state
:
server_users:
- name: "ash"
state: absent
Si vous souhaitez également supprimer leur répertoire personnel, utilisez remove
:
server_users:
- name: "ash"
state: absent
remove: yes
Dépendances
Aucune.
Exemple de Playbook
server_users:
- name: "ash"
password: "imnotarobot"
group: "wy"
groups:
- "scidiv"
- name: "kane"
password: "ihateeggs"
shell: "/bin/ksh"
ssh_key_generate: no
Licence
GPL 3.0.
Informations sur l'Auteur
Ce rôle a été créé en 2017 par socketwench.
ansible-galaxy install socketwench.users-and-groups