Tutoriel de module utilisateur anible

Tutoriel de module utilisateur anible
La gestion des utilisateurs et des attributs de l'utilisateur est une opération typique pour tout administrateur système. Le module utilisateur ANSIBLE est l'un des moyens les plus pratiques de gérer les utilisateurs et leurs attributs lorsque vous travaillez avec des hôtes distants.

Anable.construit.Le module d'utilisateur fait partie de Ansible-Core et est disponible par défaut dans la plupart des installations anibles.

Dans ce guide, nous nous concentrerons sur la façon de gérer les comptes d'utilisateurs à l'aide du module utilisateur ANSIBLE.

Comment fonctionne le module utilisateur ANSIBLE

Le module utilisateur ANSIBLE fonctionne à l'aide d'une collection de paramètres. Chaque paramètre vous permet de personnaliser l'action exécutée par le module et comment le module effectue des actions de définition sur l'hôte distant.

Voici quelques-uns des paramètres importants du module utilisateur ANSIBLE.

  • nom - Le nom d'utilisateur pour créer, supprimer ou modifier
  • mot de passe - Définit un mot de passe pour un utilisateur spécifié.
  • uid - Définit l'UID d'un utilisateur défini.
  • coquille - Définit le shell par défaut pour un utilisateur.
  • expire - Définit le temps d'expiration exprimé en époque.
  • générer_ssh_key - Une valeur booléenne qui définit si une paire SSH-Key doit être générée pour un utilisateur spécifié.
  • create_home - valeur booléenne. Si c'est vrai, un répertoire domestique est créé pour un utilisateur pendant la création de compte.
  • force - Forcer la suppression d'un compte utilisateur
  • groupe - Définit le groupe principal pour un utilisateur spécifié.
  • État - Détermine si un compte doit exister ou non: absent ou présent

Il est bon de comprendre qu'il existe d'autres paramètres non couverts dans ce guide. Vérifiez les documents du module utilisateur ANSIBL pour en savoir plus.

La meilleure façon d'illustrer comment utiliser le module utilisateur ANSible est d'utiliser des exemples pratiques.

Exemples pratiques du module utilisateur anible

Dans ce guide, nous supposons que vous avez un nœud de contrôle anible avec l'inventaire de l'hôte distant configuré.

Avant de poursuivre, commencez par tester si les hôtes distants sont en place:

anible all -m ping -v

Si tous les hôtes sont en hausse et que toutes les exigences satisfaites, vous devriez voir une sortie similaire à celle ci-dessous:

Exemple 1: Comment créer un utilisateur

Pour créer un utilisateur sur les hôtes distants, nous pouvons utiliser un playbook simple comme celui illustré dans l'exemple ci-dessous:

---
- hôtes: tout
devenir vrai
Tâches:
- Nom: Créer un utilisateur sur l'hôte distant
anable.construit.utilisateur:
Nom: ANSIBLE_TEST
shell: / bin / bash
groupe: roue

Dans l'exemple ci-dessus, nous appelons le module utilisateur en utilisant son nom complet. Cependant, vous pouvez le nommer à «l'utilisateur»

  1. nom - Spécifie le nom d'utilisateur de l'utilisateur cible pour créer
  2. coquille - Définit le shell par défaut pour l'utilisateur
  3. groupe - Définit le groupe principal de l'utilisateur

Enregistrez le playbook et exécutez avec la commande:

ANSIBLE-PLAYbook Créer un utilisateur.YML

Exemple 2: Comment supprimer un utilisateur

Nous pouvons supprimer un utilisateur distant en définissant l'état comme absent et en supprimer à vrai. Vous trouverez ci-dessous un exemple de livre de jeu:

---
- hôtes: tout
devenir vrai
Tâches:
- Nom: supprimer l'utilisateur
anable.construit.utilisateur:
Nom: ANSIBLE_TEST
État: absent
supprimer: vrai

Dans cet exemple, nous avons défini l'état comme absent. La définition du paramètre de suppression sur true supprimera les répertoires associés de l'utilisateur.

Exécutez le livre de jeu:

ANSIBLE-PLAYBOOK REPOSER.YML

Exemple 3: Comment définir une date d'expiration de mot de passe

Supposons que nous voulons fixer une date d'expiration pour le mot de passe d'un utilisateur. Nous pouvons le faire en fixant la date d'expiration comme:

---
- hôtes: tout
devenir vrai
Tâches:
- Nom: Définissez l'expiration du mot de passe
anable.construit.utilisateur:
Nom: ANSIBLE_TEST
Password_expire_min: 5
Password_expire_max: 15

Exemple 4: Comment créer une clé SSH pour un utilisateur

Pour générer une paire de clés SSH pour un utilisateur distant, nous pouvons utiliser les paramètres generate_ssh_key comme indiqué dans le playbook ci-dessous:

---
- hôtes: tout
Tâches:
- Nom: Générer la clé SSH
utilisateur:
Nom: ANSIBLE_TEST
générer_ssh_key: vrai
ssh_key_file: ~ /.ssh / id_rsa
ssh_key_type: RSA
ssh_key_bits: 4096

Exemple 5: Comment mettre à jour un mot de passe utilisateur

Pour mettre à jour le mot de passe d'un utilisateur, nous sauvegarderons l'ombre et générerons un hachage pour le mot de passe comme indiqué dans le playbook ci-dessous:

---
- hôtes: tout
devenir vrai
Tâches:
- Nom: Fichier de l'ombre de sauvegarde
copie:
src: / etc / shadow
dest: / etc / shadow.bak
- Nom: Mettez à jour le mot de passe de l'utilisateur
utilisateur:
Nom: ANSIBLE_TEST
État: présent
update_password: true
Mot de passe: "UpdatedPassword | Password_hash ('sha512')"

Dans l'exemple ci-dessus, nous commençons par sauvegarder le fichier de l'ombre. Ensuite, nous spécifions le nouveau mot de passe pour l'utilisateur.

Exécutez le livre de jeu en tant que:

ANSIBLE-PLAYBOOK UPDATEPASS.yml updatedpassword =

Conclusion

Ce guide vous a appris à gérer les utilisateurs et les attributs d'utilisateurs à l'aide du module utilisateur ANSIBLE. Je suggère de vérifier la documentation pour des paramètres supplémentaires.