Аутентификация, авторизация. Навеяло.
Есть два вида запоминания паролей - хранение и связанная генерация. Это когда ты вводишь логин, а программа на основании его и модификатора (соли) вычисляет пароль.
Хранить лучше в программах типа keepass и аналогах. Сейчас затронем тему генерации.
Есть такая известная программа как pwgen. Просто чудесная. Столько всего умеет. В том числе и связывать логин и пароль. Проблема только в том, что при генерации командная строка может попасть в history.
И пароль может быть немного скомпрометирован. Я написал для нее небольшую обертку, которая, как мне кажется, решает эту проблему.
Программа запрашивает логин, и с помощью ключевого файла и модификатора связывает логин и пароль.
Модификатор - это что-то типа парольной фразы при использовании ключа.
Модификатором может быть любая фигня, типа названия филиала, номера телефона, да просто набор букв, который вы всегда помните. И будете помнить вечно.
Модификатор может набираться с клавиатуры в видимом и скрытом режимах. Все зависит от агрессивности коллектива.
В общем, для хранения паролей от госуслуг не рекомендую, а вот генерить пароли для почты сотрудников или от каких-нибудь сайтов - самое оно.
Да, совсем забыл, параметр PWGEN_OPT — дополнительные опции генерации пароля НЕЛЬЗЯ менять после начала эксплуатации программы.
Скрипт генератора
Программа pwgen должна быть установлена.
Для debian sudo apt install pwgen
declare -r PWGEN_OPT='-1 --symbols --ambiguous --capitalize'
declare -r PASSLEN=15
declare -r PASSNUM=5
declare -r KEYFILE=${0%/*}/'1.jpg'
declare -l HIDDENMOD=0
declare -r PWGEN=$(which pwgen)
declare LOGIN
declare MOD MOD1
if [[ ! "$PWGEN" ]];then
echo pwgen not installed
exit 1
fi
if [[ ! -s "$KEYFILE" ]];then
echo keyfile "$KEYFILE" not found
exit 2
fi
read -p "Input login:" LOGIN
if [[ "1y" =~ "$HIDDENMOD" ]];then
read -s -p "Input modificator:" MOD;echo
read -s -p "Confirm modificator:" MOD1;echo
if [[ "$MOD" != "$MOD1" ]];then
echo "Modificator not confirmed"
exit 3
fi
else
read -p "Input modificator:" MOD;echo
fi
echo pwgen options: $PWGEN_OPT
echo "Login: $LOGIN"
$PWGEN $PWGEN_OPT -H"${KEYFILE}#${LOGIN}${MOD}" $PASSLEN $PASSNUM
Сохраняем в файл passgen.sh.
chmod +x passgen.sh
./passgen.sh
По умолчанию ввод модификатора отображаемый. Для параноиков - установить HIDDENMOD=1 результат работы примерно такой:
Input login:tagd@bashdays.ru
Input modificator:BashDaysTheBest
pwgen options: -1 --symbols --ambiguous --capitalize
Login: tagd@bashdays.ru
aig3ohkie.Wah4X
AiguW~u7vohphae
eiJa7ahxei.die!
FaeNa=phah9voh3
Kih]ahca3Hie7ke
Если повторить ввод тютелька в тютельку пароли будут те же самые, что и требовалось.
Тыкни сюда, чтобы посмотреть описание работы программы.
Почитать:








Комментарии
Виджет комментариев загружается с серверов Telegram и может использовать cookies. Разрешите внешние сервисы, чтобы открыть обсуждение.