feat(PROJ-66): Keyfile-Escrow-Hinweis bei Installation ausgeben

install.sh gibt das frisch generierte Keyfile nach der Erzeugung einmalig
aus (beide Installationspfade), mit Aufforderung es sofort in einen
Passwort-Safe (Bitwarden) zu verschieben. Backup ist ohne dieses Keyfile
wertlos — der Hinweis darf nicht vom "mach ich später" verschluckt werden,
da der Wert danach nirgends mehr sichtbar abrufbar ist.
This commit is contained in:
sysops
2026-07-04 15:13:33 +02:00
parent f3a7dea3cc
commit 2b70895a37
2 changed files with 30 additions and 0 deletions
+19
View File
@@ -16,6 +16,23 @@ info() { echo -e "${BLUE}[..]${NC} $*"; }
warn() { echo -e "${YELLOW}[!!]${NC} $*"; }
die() { echo -e "${RED}[ERR]${NC} $*" >&2; exit 1; }
# PROJ-66: Ein Backup (App-Backup oder PBS/Snapshot) ist ohne dieses Keyfile
# wertlos — der Store bleibt Chiffretext. Der Inhalt wird EINMALIG bei der
# Generierung ausgegeben, damit er sofort in einen Passwort-Safe (z.B.
# Bitwarden Secure Note, siehe features/PROJ-66-backup-strategie.md) verschoben
# werden kann, statt sich später darauf zu verlassen, dass irgendein Backup
# das Keyfile schon mitgesichert hat.
print_keyfile_escrow_warning() {
local keyfile_path="$1"
echo
warn "WICHTIG — Keyfile jetzt sichern (Restore ist ohne dieses Keyfile unmöglich):"
echo -e "${YELLOW}$(cat "$keyfile_path")${NC}"
warn "Diesen Wert in einen separaten Passwort-Safe kopieren (z.B. Bitwarden Secure"
warn "Note, eigene Collection mit eingeschränktem Zugriff) — unabhängig von jedem"
warn "Server-Backup. Ohne Keyfile sind gesicherte Mail-Dateien nicht entschlüsselbar."
echo
}
[[ $EUID -eq 0 ]] || die "Bitte als root ausführen: sudo bash install.sh"
# ── OS-Prüfung: nur Debian 13 (trixie) ──────────────────────────────────────
@@ -143,6 +160,7 @@ https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_C
openssl rand -base64 32 > "$CONFIG_DIR/keyfile"
chmod 400 "$CONFIG_DIR/keyfile"
log "Keyfile generiert: $CONFIG_DIR/keyfile"
print_keyfile_escrow_warning "$CONFIG_DIR/keyfile"
else
log "Keyfile existiert bereits wird nicht überschrieben"
fi
@@ -451,6 +469,7 @@ install_native() {
chmod 400 "$CONFIG_DIR/keyfile"
chown "$AM_USER:$AM_USER" "$CONFIG_DIR/keyfile"
log "Keyfile generiert: $CONFIG_DIR/keyfile"
print_keyfile_escrow_warning "$CONFIG_DIR/keyfile"
else
log "Keyfile existiert bereits wird nicht überschrieben"
fi