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

ShellIntermediate
オンラインで実践に進む

はじめに

このチャレンジでは、ランダムなパスワードを生成する genpass.sh と呼ばれる bash スクリプトを実装します。生成されるパスワードは 12 文字の長さで、特定の要件を満たす必要があります。少なくとも 1 つの数字、1 つの大文字、1 つの小文字、および 1 つの特殊文字を含まなければなりません。この条件を満たし、実行するたびに異なるパスワードを返すパスワードジェネレータを作成することが目的です。Linux の乱数生成器や bash スクリプトプログラミングの基本などのトピックを探ります。

パスワードジェネレータ

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 でさらに多くの実験を行って、スキルを向上させることができます。

✨ 解答を確認して練習