From bd018fd0cdb633f3260fd188ce86703df8756ffb Mon Sep 17 00:00:00 2001 From: alf Date: Thu, 31 Jul 2025 10:16:53 +0000 Subject: [PATCH] =?UTF-8?q?unlock=5Fand=5Fmount.sh=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- unlock_and_mount.sh | 66 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 unlock_and_mount.sh diff --git a/unlock_and_mount.sh b/unlock_and_mount.sh new file mode 100644 index 0000000..f8a8870 --- /dev/null +++ b/unlock_and_mount.sh @@ -0,0 +1,66 @@ +#!/bin/bash + +# === KONFIGURATION: Mapper-Namen und Gerätepfade === +declare -A DRIVES +# Format: [Mapper-Name]="/dev/sdX1" +DRIVES[kleine]="/dev/sdd1" +DRIVES[media]="/dev/sdc" +DRIVES[eintb]="/dev/sda" + +for MAPPER in "${!DRIVES[@]}"; do + DEVICE="${DRIVES[$MAPPER]}" + echo ">>> Verarbeite $MAPPER ($DEVICE)" + + if [ ! -b "$DEVICE" ]; then + echo " ⚠ Gerät $DEVICE nicht gefunden, überspringe." + continue + fi + + # Entsperren + if [ ! -e "/dev/mapper/$MAPPER" ]; then + echo -n " 🔐 Passwort für $MAPPER eingeben: " + read -rs PASSWD + echo + # 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 + echo " ❌ Entschlüsselung fehlgeschlagen." + continue + fi + + else + echo " 🔓 $MAPPER ist bereits entschlüsselt." + fi + + MAPPED="/dev/mapper/$MAPPER" + + if [ ! -b "$MAPPED" ]; then + echo " ⚠ Mapper-Gerät $MAPPED nicht gefunden. Überspringe." + continue + fi + + # UUID ermitteln + UUID=$(sudo blkid -s UUID -o value "$MAPPED") + if [ -z "$UUID" ]; then + echo " ⚠ Keine UUID für $MAPPED gefunden." + continue + fi + + # OMV-Mountpoint konstruieren + MOUNTPOINT="/srv/dev-disk-by-uuid-$UUID" + echo " 📍 Ziel-Mountpoint: $MOUNTPOINT" + + if mountpoint -q "$MOUNTPOINT"; then + echo " ✅ Bereits eingehängt: $MOUNTPOINT" + else + echo " 📦 Hänge $MAPPED in $MOUNTPOINT ein..." + sudo mkdir -p "$MOUNTPOINT" + sudo mount "$MAPPED" "$MOUNTPOINT" && echo " ✅ Erfolgreich eingehängt." + fi +done