#!/bin/bash # === KONFIGURATION: Mapper-Namen und Gerätepfade === declare -A DRIVES source /root/logger.sh # Format: [Mapper-Name]="/dev/sdX1" DRIVES[kleine]="/dev/sdd1" DRIVES[media]="/dev/sdc" DRIVES[eintb]="/dev/sda" # Passworteingabe, einmalig echo -n " 🔐 Passwort für eingeben: " read -rs PASSWD echo for MAPPER in "${!DRIVES[@]}"; do DEVICE="${DRIVES[$MAPPER]}" log_info ">>> Verarbeite $MAPPER ($DEVICE)" if [ ! -b "$DEVICE" ]; then log_error " ⚠ Gerät $DEVICE nicht gefunden, überspringe." continue fi # Entsperren if [ ! -e "/dev/mapper/$MAPPER" ]; then # echo "$PASSWD" | sudo cryptsetup open "$DEVICE" "$MAPPER" --type luks --key-file=- TMPFILE=$(mktemp) echo -n "$PASSWD" > "$TMPFILE" chmod 600 "$TMPFILE" sudo cryptsetup open "$DEVICE" "$MAPPER" --type luks --key-file="$TMPFILE" RET=$? rm -f "$TMPFILE" if [ $RET -ne 0 ]; then log_error " ❌ Entschlüsselung fehlgeschlagen." continue fi else log_info " 🔓 $MAPPER ist bereits entschlüsselt." fi MAPPED="/dev/mapper/$MAPPER" if [ ! -b "$MAPPED" ]; then log_error " ⚠ Mapper-Gerät $MAPPED nicht gefunden. Überspringe." continue fi # UUID ermitteln UUID=$(sudo blkid -s UUID -o value "$MAPPED") if [ -z "$UUID" ]; then log_error " ⚠ Keine UUID für $MAPPED gefunden." continue fi # OMV-Mountpoint konstruieren MOUNTPOINT="/srv/dev-disk-by-uuid-$UUID" log_info " 📍 Ziel-Mountpoint: $MOUNTPOINT" if mountpoint -q "$MOUNTPOINT"; then log_info " ✅ Bereits eingehängt: $MOUNTPOINT" else log_info " 📦 Hänge $MAPPED in $MOUNTPOINT ein..." sudo mkdir -p "$MOUNTPOINT" sudo mount "$MAPPED" "$MOUNTPOINT" && log_info " ✅ Erfolgreich eingehängt." fi done log_end