claranet.users
Rôle Ansible - utilisateurs
:star: Donnez-nous une étoile sur GitHub — cela nous motive beaucoup !
Créer des groupes, des utilisateurs et configurer les fichiers de configuration des utilisateurs.
:warning: Exigences
Ansible >= 2.10
:zap: Installation
ansible-galaxy install claranet.users
:gear: Variables du rôle
Utilisateurs
Les attributs pris en charge pour les utilisateurs sont name, append, shell, createhome, home, password, uid, group, groups, update_password, state, remove et comment.
Plus d'informations
| Variable | Valeur par défaut | Description |
|---|---|---|
| users | {} | Créer des groupes, des utilisateurs et activer les fichiers bashrc, ssh/config, vimrc et profile |
Veuillez noter que nous devons définir chattr -a sur le fichier .bash_history pour gérer les modifications de groupes !
Paquets
| Variable | Valeur par défaut | Description |
|---|---|---|
| users_packages | ["bash","bash-completion","vim","e2fsprogs"] | Liste des paquets requis pour les utilisateurs |
Variables globales
| Variable | Valeur par défaut | Description |
|---|---|---|
| users_umask | 022 | Valeur par défaut du umask pour les fichiers créés par les utilisateurs |
| users_lang | POSIX | Variable de langue par défaut |
| users_editor | vim | Éditeur par défaut est vim |
| users_ls_options | --color=auto | Options ls par défaut |
Fichiers de configuration
| Variable | Valeur par défaut | Description |
|---|---|---|
| users_default_bashrc | defaults/main.yml | Gérer le contenu du fichier .bashrc |
| users_default_vimrc | defaults/main.yml | Gérer le contenu du fichier .vimrc |
| users_default_profile | defaults/main.yml | Gérer le contenu du fichier .profile |
| users_bashrc_histcontrol | ignoreboth | Définir la variable HISTCONTROL |
| users_bashrc_histsize | 5000 | Définir la variable HISTSIZE |
| users_bashrc_histfilesize | 20000 | Définir la variable HISTFILESIZE |
| users_bashrc_histtimeformat | %d-%m-%y %T | Définir la variable HISTTIMEFORMAT |
| users_bashrc_template | users/bashrc.j2 | Configure ~/.bashrc |
| users_ssh_config_template | users/ssh_config.j2 | Configure ~/.ssh/config |
| users_vimrc_template | users/vimrc.j2 | Configure ~/.vimrc |
| users_profile_template | users/profile.j2 | Configure ~/.profile |
Les fichiers de configuration (bashrc, ssh/config, vimrc, profile) ne sont pas activés par défaut. Vous devez les définir explicitement pour l'utilisateur souhaité. (Voir l'exemple ci-dessous).
:arrows_counterclockwise: Dépendances
Voir tasks/install.yml.
:pencil2: Exemple de Playbook
---
- hosts: all
become: true
become_user: root
roles:
- claranet.users
vars:
users:
root:
home: /root
group: wheel
password: "*"
authorized_keys: ["ssh-rsa xxx"]
bashrc:
- 'export PS1=''\[\033[01;31m\]\u\[\033[00m\]@$(hostname -f) \[\033[01;34m\]\w \$\[\033[00m\] '''
vimrc:
- "color desert"
profile: {}
ssh_config:
'mysrv*':
identityFile: /home/user/.ssh/user
ssh_keys:
id_rsa:
public: 'ssh-rsa '
private: "{{ lookup('community.hashi_vault.hashi_vault', 'secret/ssh:private_key') }}"
update_password: "on_create" # par défaut c'est toujours
