truecrypt_scripts/truecrypt_init.sh
author ft
Mon, 28 Jul 2014 15:27:10 +0200
changeset 15 f6fc3ab7f0c9
parent 14 4762c3abc17a
child 16 d1a3476471ca
permissions -rwxr-xr-x
added init_manager
added run_initlistener
ft@1
     1
#!/bin/sh
ft@1
     2
ft@1
     3
BASEDIR="$(dirname $0)"
ft@1
     4
DEVICE="$1"
ft@1
     5
MOUNTPOINT="$2"
ft@1
     6
PASSWORD="$3"
ft@1
     7
KEYFILE="$4"
ft@1
     8
ft@1
     9
if [ -r "$BASEDIR/truecrypt_config.cfg" ]
ft@1
    10
then
ft@1
    11
	. "$BASEDIR/truecrypt_config.cfg"
ft@1
    12
else
ft@1
    13
	echo "truecrypt_config.cfg not found" >&2
ft@1
    14
	exit 1
ft@1
    15
fi
ft@1
    16
ft@8
    17
# make sure to have "/dev/sdb" (not "/dev/sdb1")
ft@15
    18
#DEVICE="${DEVICE:0:8}" the bash way does not work in dash -.-
ft@13
    19
DEVICE="$(echo "$DEVICE" | awk '{print substr($1,0,9)}')"
ft@8
    20
ft@15
    21
# make sure the device is not mounted (always run the init_manger script here!)
ft@15
    22
init_manager.sh "$DEVICE"
ft@8
    23
ft@14
    24
ft@7
    25
if [ -z "$KEYFILE" ]
ft@7
    26
then
ft@7
    27
	message="$($tc_cmd -c --non-interactive --quick --filesystem=none --encryption=AES --hash=RIPEMD-160 -p "$PASSWORD" "$DEVICE")"
ft@7
    28
	result="$?"
ft@7
    29
else
ft@7
    30
	message="$($tc_cmd -c --non-interactive --quick --filesystem=none --encryption=AES --hash=RIPEMD-160 -p "$PASSWORD" -k "$KEYFILE" "$DEVICE")"
ft@7
    31
	result="$?"
ft@7
    32
fi
ft@7
    33
	
ft@7
    34
if [ "$result" != "0" ]
ft@7
    35
then
ft@7
    36
	exit 1
ft@7
    37
fi
ft@1
    38
ft@1
    39
ft@1
    40
ft@1
    41
if [ -z "$KEYFILE" ]
ft@1
    42
then
ft@7
    43
	message="$message\n$($tc_cmd --non-interactive --filesystem=none -p "$PASSWORD" "$DEVICE")"
ft@7
    44
	result="$?"
ft@1
    45
else
ft@7
    46
	message="$message\n$($tc_cmd --non-interactive --filesystem=none -p "$PASSWORD" -k "$KEYFILE" "$DEVICE")"
ft@7
    47
	result="$?"
ft@1
    48
fi
ft@1
    49
	
ft@7
    50
if [ "$result" != "0" ]
ft@7
    51
then
ft@7
    52
	exit 1
ft@7
    53
fi
ft@7
    54
ft@7
    55
ft@7
    56
ft@7
    57
ft@7
    58
ft@7
    59
TC_DEVICE=$(truecrypt -l | awk '{print $3}')
ft@7
    60
ft@7
    61
message="$message\n$(mkfs.ntfs --quick "$TC_DEVICE")"
ft@1
    62
result="$?"
ft@1
    63
ft@1
    64
if [ "$result" != "0" ]
ft@1
    65
then
ft@1
    66
	exit 1
ft@1
    67
fi
ft@1
    68
ft@7
    69
mount "$TC_DEVICE" "$MOUNTPOINT" 
ft@7
    70
ft@1
    71
echo "$message"
ft@1
    72
exit 0