Hace un par de días creé un área cifrada al estilo truecrypt.
Los scripts daban muchas cosas por sentado y era muy fácil que fallasen. He hecho algunos cambios para que resulten más flexibles y cómodos. Se sigue dando por hecho que el archivo está en una carpeta NFS, pero ahora es un poco más general y menos propenso a fallos.
Servirían para tener el número que queramos de archivos de este tipo. Se podría hacer que se le pasen parámetros por la línea de comandos, pero de momento se definen los valores en el directorio /etc/crypt
Por ejemplo, esto sería /etc/crypt/docs1
NFS_MOUNT=/media/wand/
CRYPTED_FILE=store/crypted
PLAIN_MOUNTPOINT=/home/liber/docs1
Para acceder al área cifrada, teclearíamos: mount_crypt docs1
el /usr/local/bin/mount_crypt quedaría así:
#!/bin/sh
source /etc/crypt/$1
CRYPTED_DEV_MAP=crypt_${1}
LOOP_DEV=`losetup -f`
mountpoint -q $NFS_MOUNT
if [ "$?" -ne "0" ]
then
mount $NFS_MOUNT
fi
losetup $LOOP_DEV ${NFS_MOUNT}${CRYPTED_FILE}
cryptsetup open --type luks $LOOP_DEV $CRYPTED_DEV_MAP
mount /dev/mapper/${CRYPTED_DEV_MAP} ${PLAIN_MOUNTPOINT}
Y el umount_crypt, que también necesitaría el parámetro del nombre que queremos desmontar: umount_crypt docs1
/usr/local/bin/umount_crypt:
#!/bin/sh
CRYPT_MAP=crypt_${1}
LOOP_DEV=`cryptsetup status ${CRYPT_MAP} | grep device | cut -d':' -f2`
MOUNT_POINT=`grep ${CRYPT_MAP} /proc/mounts | cut -d' ' -f2`
umount $MOUNT_POINT
cryptsetup luksClose ${CRYPT_MAP}
losetup -d $LOOP_DEV
No comments:
Post a Comment