Добавить Caddy basic_auth gate на gendsgn.ru и :80 для pilot demo 28.05.2026. Только /health и /preview/* остаются публичными. Управление пользователями через scripts/auth/ скрипты + git history как audit trail.
28 lines
995 B
Bash
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)"
|