ランダムなパスワードジェネレータの開発

LinuxLinuxBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

このチャレンジでは、ランダムなパスワードを生成する genpass.sh と呼ばれる bash スクリプトを実装します。生成されるパスワードは 12 文字の長さで、特定の要件を満たす必要があります。少なくとも 1 つの数字、1 つの大文字、1 つの小文字、および 1 つの特殊文字を含まなければなりません。この条件を満たし、実行するたびに異なるパスワードを返すパスワードジェネレータを作成することが目的です。Linux の乱数生成器や 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{{"ランダムなパスワードジェネレータの開発"}} linux/tr -.-> lab-301484{{"ランダムなパスワードジェネレータの開発"}} linux/expr -.-> lab-301484{{"ランダムなパスワードジェネレータの開発"}} end

パスワードジェネレータ

LabEx 環境では、各ユーザーのユーザー名は「labex」ですが、パスワードはランダムです。

次の要件を満たすランダムなパスワードジェネレータを実装してください。

  • 生成されるパスワードは 12 文字の長さである必要があります。
  • パスワードには少なくとも 1 つの数字、1 つの大文字、1 つの小文字、および 1 つの特殊文字が含まれている必要があります。
  • 許可されている特殊文字は、次のもののみです: ><+-{}:.&;

目標

  • 必要な zsh スクリプトを、既に /home/labex/project ディレクトリに作成されている genpass.sh ファイルに書き込みます。
  • genpass.sh スクリプトは、はじめに記載された 3 つの条件を満たす必要があり、各実行時に異なるパスワードを生成する必要があります。
  • Linux の mkpasswd のような既製のパスワード生成ツールを使用しないでください。
  • パスワード生成スクリプトは、各実行時に要件を満たすパスワードを返す必要があります。

出力

$ cd /home/labex/project
$ sh genpass.sh
2Dsxw9+xS:27
✨ 解答を確認して練習

まとめ

おめでとうございます!パスワードジェネレータのチャレンジを完了しました。LabEx でさらに多くの実験を行って、スキルを向上させることができます。