Développement d'un générateur de mots de passe aléatoire

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce défi, nous allons implémenter un script bash appelé genpass.sh qui génère des mots de passe aléatoires. Le mot de passe généré devrait avoir 12 caractères de long et répondre à des exigences spécifiques : il doit contenir au moins un chiffre, une lettre majuscule, une lettre minuscule et un caractère spécial. L'objectif est de créer un générateur de mots de passe qui répond à ces conditions et renvoie un mot de passe différent chaque fois qu'il est exécuté. Nous allons explorer des sujets tels que le générateur de nombres aléatoires Linux et les bases de la programmation de scripts bash.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/TextProcessingGroup -.-> linux/tr("Character Translating") linux/TextProcessingGroup -.-> linux/expr("Evaluate Expressions") subgraph Lab Skills linux/echo -.-> lab-301484{{"Développement d'un générateur de mots de passe aléatoire"}} linux/tr -.-> lab-301484{{"Développement d'un générateur de mots de passe aléatoire"}} linux/expr -.-> lab-301484{{"Développement d'un générateur de mots de passe aléatoire"}} end

Générateur de mots de passe

Dans l'environnement LabEx, le nom d'utilisateur de chaque utilisateur est labex, mais les mots de passe sont aléatoires.

Veuillez implémenter un générateur de mots de passe aléatoire qui répond aux exigences suivantes :

  • Le mot de passe généré devrait avoir 12 caractères de long.
  • Le mot de passe doit contenir au moins un chiffre, une lettre majuscule, une lettre minuscule et un caractère spécial.
  • Seuls les caractères spéciaux suivants sont autorisés : ><+-{}:.&;.

Objectifs

  • Écrire le script zsh requis dans le fichier genpass.sh déjà créé dans le répertoire /home/labex/project.
  • Le script genpass.sh doit répondre aux trois conditions décrites dans l'introduction et chaque exécution devrait générer un mot de passe différent.
  • Ne pas utiliser d'outils de génération de mots de passe prêts à l'emploi comme mkpasswd sur Linux.
  • Le script de génération de mots de passe devrait renvoyer un mot de passe qui répond aux exigences chaque fois qu'il est exécuté.

Sortie

$ cd /home/labex/project
$ sh genpass.sh
2Dsxw9+xS:27
✨ Vérifier la solution et pratiquer

Sommaire

Félicitations! Vous avez terminé le défi Générateur de mots de passe. Vous pouvez pratiquer plus de laboratoires dans LabEx pour améliorer vos compétences.