Dienstag
6. Februar 2007
6. Februar 2007
Erstellen eines verschlüsselten Festplatten-Image unter Linux
byggvirofbarley, 00:48h
Es gib zahlreiche Beschreibungen für die Erstellung von verschlüsselten Festplatten unter Linux. Dem möchte ich noch eine hinzufügen.
Eine Hürde für den Bundestrojaner.
Das erste Script, das bei mir "mk-crypt-fs" heißt erzeugt ein verschlüsseltes Image einer ext3 formatierten Festplatte. Der erste Parameter gibt das Verzeichnis an, der Zweite die Größe in Mega Byte.
Das zweite Script mounted die verschlüsselte Festplatte im Dateisystem.
Anzupassende Zeilen sind gekennzeichnet.
Eine Hürde für den Bundestrojaner.
Das erste Script, das bei mir "mk-crypt-fs" heißt erzeugt ein verschlüsseltes Image einer ext3 formatierten Festplatte. Der erste Parameter gibt das Verzeichnis an, der Zweite die Größe in Mega Byte.
Das zweite Script mounted die verschlüsselte Festplatte im Dateisystem.
Anzupassende Zeilen sind gekennzeichnet.
#!/bin/sh # v--- Hier das Verzeichnis der Images angeben CRYPTDIR="/local/.crypto-fs/$1" CRYPTIMG="$CRYPTDIR/$2.img" PASSWD="$CRYPTDIR/passwd.asc" mkdir -p "$CRYPTDIR" || exit /sbin/modprobe cryptoloop /sbin/modprobe twofish dd if=/dev/urandom of="$CRYPTIMG" bs=1M count=$2 # Hinter -r ID des gpg accounts anpassen pwgen -1 64 | gpg -a -e -r 938FA465 >"$PASSWD" /sbin/losetup -e twofish256 \ -K "$PASSWD" \ -G "/root/.gnupg" \ /dev/loop1 "$CRYPTIMG" /sbin/mkfs -t ext3 -m 0 /dev/loop1 /sbin/losetup -d /dev/loop1 chown -R root:root "$CRYPTDIR"Hier das Script cryptmnt zum Einbinden des Images ind das Dateisystem.
#! /bin/sh BASE=`dirname $0` KEYFILE="$BASE/passwd.asc" # Hier Imagenamen anpassen. CRYPTFILE="$BASE/32768.img" GPGHOME="$HOME/.gnupg" # Hier gewünschten Mount-Punkt anpassen MPOINT="/mnt/common" case "$1" in start) # Bestimmen eines freien loop device for ((L=0; L<8 ;L++)) do IsFree=0 for I in `/sbin/losetup -a | grep '^/dev/loop' | sed 's!^/dev/loop\(.\):.*!\1!'| sort` do [ "$L" -eq "$I" ] && IsFree=1 && break done [ $IsFree == 0 ] && break done [ -d "$MPOINT" ] || mkdir -p "$MPOINT" LPDEV=/dev/loop$L /sbin/modprobe cryptoloop /sbin/modprobe twofish mount | grep "^$LPDEV" if [ $? -ne 0 ] then /sbin/losetup -K $KEYFILE -G $GPGHOME -e twofish256 $LPDEV $CRYPTFILE /bin/mount -t ext3 -o defaults,users,rw $LPDEV $MPOINT else echo "Fehler: $LPDEV ist in Benutzung." >&2 fi ;; stop) LPDEV=`mount | grep " $MPOINT " | cut -d " " -f 1` if [ "$LPDEV" != "" ] then /bin/umount "$MPOINT" /sbin/losetup -d "$LPDEV" else echo "Fehler: $MPOINT nicht eingehängt!" >&2 fi ;; esac
Kategorie: Linux Tipps
... comment ...bereits 461 x gelesen