gendesign/scripts/auth/list_users.sh
lekss361 b89b34c300 feat(security): закрыть gendsgn.ru basic_auth gate (multi-user, 11 users)
Добавить Caddy basic_auth gate на gendsgn.ru и :80 для pilot demo 28.05.2026.
Только /health и /preview/* остаются публичными. Управление пользователями
через scripts/auth/ скрипты + git history как audit trail.
2026-05-23 10:55:03 +03:00

28 lines
995 B
Bash

#!/usr/bin/env bash
# list_users.sh — показать текущих пользователей (имена + comment, без хешей)
# Usage: ./scripts/auth/list_users.sh
set -euo pipefail
SNIPPET="$(dirname "$(dirname "$(realpath "$0")")")/caddy/users.caddy.snippet"
if [[ ! -f "$SNIPPET" ]]; then
echo "ERROR: snippet not found at $SNIPPET" >&2
exit 1
fi
echo "Users in $SNIPPET:"
echo ""
printf "%-12s %s\n" "USERNAME" "COMMENT"
printf "%-12s %s\n" "--------" "-------"
# Extract lines that look like user entries (indented username + base64 hash + optional comment)
# Format: <spaces> username <base64_hash> # comment
grep -P '^\s+[a-z][a-z0-9-]+\s+[A-Za-z0-9+/]+=*' "$SNIPPET" | \
sed -E 's/^\s+([a-z][a-z0-9-]+)\s+\S+\s*(#\s*)?(.*)$/\1\t\3/' | \
while IFS=$'\t' read -r user comment; do
printf "%-12s %s\n" "$user" "$comment"
done
echo ""
TOTAL=$(grep -cP '^\s+[a-z][a-z0-9-]+\s+[A-Za-z0-9+/]+=*' "$SNIPPET" || true)
echo "Total: $TOTAL user(s)"