mirror of
https://github.com/Llewellynvdm/Tomb.git
synced 2024-11-18 18:45:14 +00:00
now using ext4 filesystem
also tomb creation ask for saving the key on usb
This commit is contained in:
parent
dad9a4b716
commit
b669a11ff4
48
src/tomb
48
src/tomb
@ -90,15 +90,8 @@ ask_usbkey() {
|
|||||||
usbmount=`cat /proc/mounts | awk -v p=$usbpart '{ if( $1 == "/dev/" p) print $2 }'`
|
usbmount=`cat /proc/mounts | awk -v p=$usbpart '{ if( $1 == "/dev/" p) print $2 }'`
|
||||||
echo
|
echo
|
||||||
echo "usb key mounted on $usbmount"
|
echo "usb key mounted on $usbmount"
|
||||||
# check if the key is there
|
export usbkey_mount
|
||||||
if [ -r ${usbmount}/$1 ]; then
|
return 0
|
||||||
echo "key found!"
|
|
||||||
export enc_key="${usbmount}/${1}"
|
|
||||||
return 0
|
|
||||||
else
|
|
||||||
echo "key not found on usb"
|
|
||||||
fi
|
|
||||||
return 1
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# user interface (just to ask the password)
|
# user interface (just to ask the password)
|
||||||
@ -257,20 +250,32 @@ create_tomb() {
|
|||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
act "formatting Ext3 filesystem"
|
|
||||||
|
|
||||||
cryptsetup --key-file ${keytmp} --cipher aes luksOpen ${nstloop} tomb.tmp
|
cryptsetup --key-file ${keytmp} --cipher aes luksOpen ${nstloop} tomb.tmp
|
||||||
|
|
||||||
rm -f ${keytmp}
|
rm -f ${keytmp}
|
||||||
|
|
||||||
|
notice "Your tomb is read on ${FILE} and secured with key ${FILE}.gpg"
|
||||||
|
act "now plug an external usb device to save the key separately:"
|
||||||
|
ask_usbkey
|
||||||
|
if ! [ -w ${usbkey_mount} ]; then
|
||||||
|
error "cannot save the key in a separate place, move it yourself later."
|
||||||
|
else
|
||||||
|
mkdir -p ${usbkey_mount}/.tomb
|
||||||
|
cp -v ${FILE}.gpg ${usbkey_mount}/.tomb/
|
||||||
|
chown -R go-rwx ${usbkey_mount}/.tomb
|
||||||
|
rm -rf ${FILE}.gpg
|
||||||
|
fi
|
||||||
|
|
||||||
# cryptsetup luksDump ${nstloop}
|
# cryptsetup luksDump ${nstloop}
|
||||||
|
|
||||||
mkfs.ext3 -q -F -j -L "`hostname`-`date +%s`" /dev/mapper/tomb.tmp
|
act "formatting your Tomb with Ext4 filesystem"
|
||||||
|
|
||||||
|
mkfs.ext4 -q -F -j -L "`hostname`-`date +%s`" /dev/mapper/tomb.tmp
|
||||||
|
|
||||||
if [ $? = 0 ]; then
|
if [ $? = 0 ]; then
|
||||||
act "OK, encrypted storage succesfully formatted with Ext3 filesystem"
|
act "OK, encrypted storage succesfully formatted"
|
||||||
else
|
else
|
||||||
act "error formatting storage file with Ext3 filesystem"
|
act "error formatting Tomb"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sync
|
sync
|
||||||
@ -320,10 +325,13 @@ mount_tomb() {
|
|||||||
error "encryption key ${enc_key} not found on disk"
|
error "encryption key ${enc_key} not found on disk"
|
||||||
error "use -k option to specify which key to use"
|
error "use -k option to specify which key to use"
|
||||||
error "or provide a usb key, or press ctrl-c to abort"
|
error "or provide a usb key, or press ctrl-c to abort"
|
||||||
ask_usbkey ".tomb/$enc_key"
|
ask_usbkey
|
||||||
if ! [ -r "${enc_key}" ]; then
|
# returns usbkey_mount, now check if the key is there
|
||||||
|
if [ -r ${usbkey_mount}/.tomb/${enc_key} ]; then
|
||||||
|
notice "key found on ${usbkey_mount}/.tomb/${enc_key}"
|
||||||
|
else
|
||||||
error "key is missing."
|
error "key is missing."
|
||||||
exit 0
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -374,11 +382,9 @@ mount_tomb() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
act "encrypted storage filesystem check"
|
act "encrypted storage filesystem check"
|
||||||
fsck.ext3 -p -C0 /dev/mapper/${mapper}
|
fsck.ext4 -p -C0 /dev/mapper/${mapper}
|
||||||
|
|
||||||
|
mount -t ext4 -o rw,noatime,nodev /dev/mapper/${mapper} ${MOUNT}
|
||||||
|
|
||||||
mount -t ext3 /dev/mapper/${mapper} ${MOUNT}
|
|
||||||
# TODO: possible mount options to try out:
|
# TODO: possible mount options to try out:
|
||||||
# -o rw,noatime,nodev,data=writeback,commit=30
|
# -o rw,noatime,nodev,data=writeback,commit=30
|
||||||
# -o rw,noatime,nodev
|
# -o rw,noatime,nodev
|
||||||
|
Loading…
Reference in New Issue
Block a user