First commit

This commit is contained in:
Yorick Barbanneau 2016-07-30 20:27:08 +02:00
commit aee895f1dd
2 changed files with 110 additions and 0 deletions

74
mount.sh Executable file
View file

@ -0,0 +1,74 @@
#!/bin/sh
#
# Script to mount encrypted disk image in FreeBSD
DISK_IMAGE="/test.img"
MOUNT_POINT="/mnt/test"
SERVICES=""
if [ -e $DISK_IMAGE ]
then
echo "Image disk not found, exiting."
exit 1
fi
case $0 in
m|mount)
echo "mount $MOUNT_POINT"
mdconfig -a -t vnode -f $DISK_IMAGE -u 0 > /dev/null
geli attach -d /dev/md0 > /dev/null
if [ $? -eq 0 ]
then
mount /dev/md0.eli $MOUNT_POINT
if [ $? -neq 0 ]
then
for i in $SERVICES
do
service $i one start
if [ $? -neq 0 ]
then
echo something gone wrong when starting $i
fi
done
else
echo "I can't mount..."
exit 1
fi
else
echo "Something wrong happen, did you give me the good password?"
mdconfig -d -u 0
exit 1
fi
;;
u|unmount)
for i in $SERVICES
do
echo "stop $i service ..."
service $i onestop
if [ $? -neq 0 ]
then
echo "can't stop $i service then unmount $MOUNT_POINT exiting ..."
exit 1
fi
done
echo "unmount $MOUNT_POINT ..."
umount $MOUNT_POINT > /dev/null
mdconfig -d -u 0 > /dev/null
if [ $? ] && [ ! -e /dev/md0 ] && [ ! -e /dev/md0.eli ] && [ `ls $clear | wc -l` ]
then
echo 'Everything clean'
else
echo 'Some ressources are still present, please check'
fi
;;
*)
echo "what is this argument? We don't speak the same language..."
echo "USAGE"
echo "mount.sh [mount|umount]"
echo "mount / umount an encrypted image and axecute dependent services"
echo "modify MOUNT_POINT and IMAGE_DISK variables then add services"
echo "to SERVICES."
exit 1
esac
exit 0