Criei um contêiner criptografado 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
ou seja, um arquivo container
especificado para este script conterá um sistema de arquivos ext3 criptografado via cryptsetup luksFormat
.
Para montá-lo, atualmente uso outro script, digamos 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
)
e desmontá-lo 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
Há muita redundância e a captura manual de um dispositivo de loop e um mapeador que podem permanecer anônimos. Existe uma maneira de simplesmente fazer algo como mount -o luks ~/container /mnt/decrypted
(solicitar a senha) e umount /mnt/decrypted
a maneira mais fácil?
editar Basicamente, estou feliz com meus scripts acima (embora a verificação de erros possa ser melhorada ...), então
Como uma opção de montagem pode
-o luks=~/container
ser implementada semelhante ao-o loop ~/loopfile
uso dos scripts que escrevi?
Isso pode ser alcançado sem reescrever mount
? Ou, alternativamente, poderia -t luks -o loop ~/container
ser implementado?
mount