Creé un contenedor cifrado a través de
#!/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
es decir, un archivo, por ejemplo, containerespecificado para este script contendrá un sistema de archivos ext3 encriptado a través de cryptsetup luksFormat.
Para montarlo, actualmente utilizo otro script, por ejemplo 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
)
y desmontarlo 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
Hay mucha redundancia y agarrar manualmente un dispositivo de bucle y un mapeador, ambos pueden permanecer en el anonimato. ¿Hay alguna manera de hacer algo como mount -o luks ~/container /mnt/decrypted(solicitar la frase de contraseña) y umount /mnt/decryptedla forma más fácil?
editar Básicamente estoy contento con mis scripts anteriores (aunque la comprobación de errores podría mejorarse ...), entonces
¿Cómo se
-o luks=~/containerpuede implementar una opción de montaje similar al-o loop ~/loopfileuso de los scripts que escribí?
¿Se puede lograr esto sin reescribir mount? O alternativamente, ¿podría -t luks -o loop ~/containerimplementarse?
fuente

mountRespuestas:
De hecho, la modificación
mountes posible, como aprendí de la existencia demount.ntfs-3g. Solo estoy haciendo conjeturas, pero sospecho quemount -t sometyperesulta en una llamada amount.sometype $DEV $MOUNTPOINT $OPTIONS, no dude en corregirme aquí o citar alguna documentación real. Especialmente la opción-o loopya está tratada, así que no hay necesidad delopsetupmás ...Enlace simbólico / cree el script de montaje como
/sbin/mount.crypto_LUKS. Retire la parte del dispositivo de bucle y en su lugar solo use el-o loopinterruptor. Aquí está mi/sbin/mount.crypto_LUKS:Ahora solo tengo que ejecutar
mount -o loop ~/container /mnt/decrypted, ymountme pedirá la contraseña y luego montará el contenedor, liberando automáticamente el dispositivo de bucle una vez que el contenedor esté cerrado. Si el sistema de archivos descifrado no se puede montar, el contenedor se cerrará nuevamente, pero puede modificarlo, por supuesto. O implemente algún análisis de opciones en lugar de pasarle todomount.Esperaba que se pudiera lograr lo mismo a través de
/sbin/umount.luks, peroumount /mnt/decrypted(incluso con-t crypto_LUKS) todavía solo se desmonta habitualmente, dejando el contenedor abierto. Si encuentra una manera deumountllamar a midm.umountscript en su lugar, avíseme ... Por el momento, no se recomienda llamar directamente,umountya que tendrá que averiguar el/dev/mappernombre manualmentecryptsetup luksClose $MAPPER. Al menos, el dispositivo de bucle se liberará automáticamente simount -o loopse usó antes ...fuente
umount, supongo que tendré que modificar la/etc/mtabentrada de mimount.lukstal que el tipo de sistema de archivos sea, por ejemplo, enluks.ext3lugar deext3.pam_mount, disponible en sourceforge , se entrega con un útil mount.crypto_LUKS y umount.crypto_LUKS que supera algunas de las deficiencias del script proporcionadas por el otro póster.
fuente