unlock_and_mount.sh hinzugefügt
This commit is contained in:
66
unlock_and_mount.sh
Normal file
66
unlock_and_mount.sh
Normal file
@ -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
|
||||||
Reference in New Issue
Block a user