version 1.3.3: выбор сложности пароля (лёгкий/сложный)
- app.py: gen_password(mode), api_users_create принимает password_mode - bot.py: меню выбора сложности перед созданием, gen_password(mode) - mita-ctl.sh: запрос сложности в menu_users, _create_user с pwd_mode - templates/index.html: селектор «Сложность пароля» в форме создания - README: обновлена дорожная карта
This commit is contained in:
+20
-3
@@ -530,11 +530,23 @@ for u in users: print(f' - {u[\"name\"]}')
|
||||
echo ""
|
||||
read -r -p " Выбор: " choice
|
||||
|
||||
# Запрашиваем сложность пароля один раз перед созданием
|
||||
local pwd_mode="hard"
|
||||
if [[ "$choice" == "1" || "$choice" == "2" ]]; then
|
||||
echo ""
|
||||
echo -e " ${BOLD}Сложность пароля:${NC}"
|
||||
echo -e " ${BOLD}1.${NC} Лёгкий — A-Z, a-z, 0-9, -._~*+ (без спецсимволов)"
|
||||
echo -e " ${BOLD}2.${NC} Сложный — со спецсимволами (по умолчанию)"
|
||||
echo ""
|
||||
read -r -p " Выбор [2]: " pwd_choice
|
||||
[[ "$pwd_choice" == "1" ]] && pwd_mode="easy"
|
||||
fi
|
||||
|
||||
case "$choice" in
|
||||
1)
|
||||
read -r -p "Имя пользователя: " uname
|
||||
[[ -z "$uname" ]] && { warn "Имя не указано"; pause; return; }
|
||||
_create_user "$uname"
|
||||
_create_user "$uname" "$pwd_mode"
|
||||
pause ;;
|
||||
2)
|
||||
read -r -p "Количество пользователей: " cnt
|
||||
@@ -545,7 +557,7 @@ for u in users: print(f' - {u[\"name\"]}')
|
||||
noun=$(shuf -n1 -e fox hawk river storm ember peak orbit tide frost spark 2>/dev/null || echo "node")
|
||||
rnd=$((RANDOM % 9000 + 1000))
|
||||
uname="${adj}_${noun}_${rnd}"
|
||||
_create_user "$uname"
|
||||
_create_user "$uname" "$pwd_mode"
|
||||
done
|
||||
pause ;;
|
||||
3)
|
||||
@@ -589,8 +601,13 @@ PYEOF
|
||||
|
||||
_create_user() {
|
||||
local uname="$1"
|
||||
local pwd_mode="$2"
|
||||
local pass
|
||||
pass=$(openssl rand -base64 48 | tr -d '/+=' | head -c 48)
|
||||
if [[ "$pwd_mode" == "easy" ]]; then
|
||||
pass=$(openssl rand -base64 48 | tr -dc 'A-Za-z0-9-._~*+' | head -c 32)
|
||||
else
|
||||
pass=$(openssl rand -base64 48 | tr -d '/+=' | head -c 48)
|
||||
fi
|
||||
|
||||
# Записываем пользователя в JSON и проверяем результат явно
|
||||
local py_result
|
||||
|
||||
Reference in New Issue
Block a user