J'ai créé un conteneur crypté via
#!/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
c'est-à-dire qu'un fichier container
spécifié par exemple dans ce script contiendra un système de fichiers ext3 chiffré via cryptsetup luksFormat
.
Pour le monter, j'utilise actuellement un autre script, disons 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
)
et pour le démonter 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
Il y a beaucoup de redondance et de saisie manuelle d'un périphérique de boucle et d'un mappeur, qui pourraient tous deux rester anonymes. Existe-t-il un moyen de simplement faire quelque chose comme mount -o luks ~/container /mnt/decrypted
(demander la phrase secrète) et umount /mnt/decrypted
la manière simple à la place?
modifier Fondamentalement, je suis satisfait de mes scripts ci-dessus (bien que la vérification des erreurs puisse être améliorée ...), donc
Comment une option de montage peut-elle
-o luks=~/container
être implémentée de manière similaire à l'-o loop ~/loopfile
utilisation des scripts que j'ai écrits?
Peut-on y parvenir sans réécrire mount
? Ou bien, pourrait-il -t luks -o loop ~/container
être mis en œuvre?
mount