-
Notifications
You must be signed in to change notification settings - Fork 0
/
mount_enc.sh
executable file
·95 lines (87 loc) · 2.93 KB
/
mount_enc.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#!/bin/sh
#################################################################
# Mounting an extrenal device and mount an encrypted container #
# in it. #
# #
# Author: Maximilian Stiefel #
# Last modified: 25. August 2017 #
# CLI usage: ./mount_enc.sh #
# Required PKGs: encfs, sudo #
# #
#################################################################
#################################################################
# Vars #
#################################################################
# Mountpoint for external drive
MOUNT_POINT="/media/blabla/xxx"
# Device identifier
DEVICE="/dev/sdax"
# File system (-t option of mount)
FILE_SYSTEM="ext4"
# Encfs enrypted files location
ENC_LOC="$MOUNT_POINT/.xxx"
# Encfs mount point
ENC_MP="$MOUNT_POINT/xxx"
# Link to mount point
LINK="/home/maximilian/linki"
# Command to execute for mounting
MYCMD1="sudo mount -t $FILE_SYSTEM $DEVICE $MOUNT_POINT"
# Command to create a mount point if necessary
MYCMD2="mdkir $MOUNT_POINT"
# Command to check wether the device is already mounted
MYCMD3=$(mount | grep $DEVICE)
# Command to use encfs
MYCMD4="encfs $ENC_LOC $ENC_MP"
# Command to create link
MYCMD5="ln -s $MOUNT_POINT $LINK"
# Command to fire rhythmbox (do not fire rhythmbox before music lib is encrypted)
MYCMD6="bash ~/launch_in_bg.sh rhythmbox"
#################################################################
# Action #
#################################################################
# Check if mount point does exist if not create
if [ ! -d "$MOUNT_POINT" ]; then
echo "####################################################"
echo "Creating directory $MOUNT_POINT"
echo "####################################################"
echo "$MYCMD2"
$MYCMD2
echo
fi
# Check if mounted already. Is string value set?
if [ ! -n "$MYCMD3" ]
then
echo "####################################################"
echo "Mounting external device $DEVICE"
echo "to $MOUNT_POINT."
echo "####################################################"
echo "$MYCMD1"
$MYCMD1
echo
else
echo "####################################################"
echo "$DEVICE is already mounted."
echo "####################################################"
echo
fi
# Use encfs to create/mount encrypted files
echo "####################################################"
echo "Starting encfs."
echo "####################################################"
echo "$MYCMD4"
$MYCMD4
echo
# Check if link already exists
if [ ! -e $LINK ]
then
echo "####################################################"
echo "Creating symlink $LINK."
echo "####################################################"
echo "$MYCMD5"
$MYCMD5
echo
fi
echo "$MYCMD6"
eval $MYCMD6
read -r -p "Waiting for termination. Press any key ... " key
exit 0;