Ich habe einen verschlüsselten Container über erstellt
#!/bin/bash
dd if=/dev/zero of=$1 bs=1 count=0 seek=$2
MAPPER=$(mktemp -up /dev/mapper)
LOOPDEV=$(losetup --find --show $1)
cryptsetup luksFormat $LOOPDEV
cryptsetup luksOpen $LOOPDEV $(basename $MAPPER)
mkfs.ext3 $MAPPER
cryptsetup luksClose $MAPPER
losetup -d $LOOPDEV
Das heißt, eine Datei, die z. B. container
in diesem Skript angegeben ist, enthält ein ext3-Dateisystem, das über verschlüsselt ist cryptsetup luksFormat
.
Zum Mounten verwende ich derzeit ein anderes Skript, z. B dm.mount container /mnt/decrypted
.:
#!/bin/bash
set -e
MAPPER=$(mktemp -up /dev/mapper)
LOOPDEV=$(losetup --find --show $1)
cryptsetup luksOpen $LOOPDEV $(basename $MAPPER) || losetup -d $LOOPDEV
mount $MAPPER $2 || (
cryptsetup luksClose $MAPPER
losetup -d $LOOPDEV
)
und um es abzunehmen dm.umount /mnt/decrypted
:
#!/bin/bash
set -e
MAPPER=$(basename $(mount | grep $1 | gawk ' { print $1 } '))
LOOPDEV=$(cryptsetup status $MAPPER | grep device | gawk ' { print $2 } ')
umount $1
cryptsetup luksClose $MAPPER
losetup -d $LOOPDEV
Es gibt viel Redundanz und das manuelle Abrufen eines Loop-Geräts und eines Mappers, die beide anonym bleiben könnten. Gibt es eine Möglichkeit, einfach so etwas zu tun mount -o luks ~/container /mnt/decrypted
(Aufforderung zur Eingabe der Passphrase) und umount /mnt/decrypted
stattdessen die einfache Möglichkeit?
edit Grundsätzlich bin ich mit meinen Skripten oben zufrieden (obwohl die Fehlerprüfung verbessert werden könnte ...), also
Wie kann eine Mount-Option
-o luks=~/container
ähnlich wie-o loop ~/loopfile
bei den von mir geschriebenen Skripten implementiert werden ?
Kann dies ohne Umschreiben erreicht werden mount
? Oder könnte alternativ -t luks -o loop ~/container
implementiert werden?
mount