Разработка генератора случайных паролей

LinuxLinuxBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом испытании мы реализуем bash-скрипт под названием genpass.sh, который генерирует случайные пароли. Сгенерированный пароль должен быть длиной в 12 символов и соответствовать определенным требованиям: он должен содержать по крайней мере одну цифру, одну заглавную букву, одну строчную букву и один специальный символ. Цель - создать генератор паролей, который соответствует этим условиям и возвращает каждый раз другой пароль при выполнении. Мы рассмотрим такие темы, как генератор случайных чисел в 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 символов.
  • Пароль должен содержать по крайней мере одну цифру, одну заглавную букву, одну строчную букву и один специальный символ.
  • Разрешены только следующие специальные символы: ><+-{}:.&;.

Цели

  • Запишите необходимый zsh-скрипт в файл genpass.sh, который уже создан в директории /home/labex/project.
  • Скрипт genpass.sh должен соответствовать трем условиям, описанным в введении, и каждый раз при выполнении должен генерировать другой пароль.
  • Не используйте готовые инструменты генерации паролей, такие как mkpasswd в Linux.
  • Скрипт генерации паролей должен каждый раз при выполнении возвращать пароль, соответствующий требованиям.

Вывод

$ cd /home/labex/project
$ sh genpass.sh
2Dsxw9+xS:27
✨ Проверить решение и практиковаться

Резюме

Поздравляем! Вы завершили испытание по генерации паролей. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.