blob: 45961925122bd7c266b9227232857eb133b74cbf (
plain)
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
|
#! /usr/bin/env bash
set -euo pipefail
storage="/dev/disk/by-uuid/3f781aab-24b5-4de0-8632-b9df922d6433"
music="/dev/disk/by-uuid/e0b19c7d-9e90-4117-aea1-7e4b321d9d5a"
photos="/dev/disk/by-uuid/b3c5a842-474b-4c2f-a246-abebe1da3450"
backup="/dev/disk/by-uuid/e003337a-33e9-4691-bc57-e77243e55de5"
video="/dev/disk/by-uuid/5ac700be-e168-495b-b133-42064fa101e4"
media="/dev/disk/by-uuid/e5adbc14-732e-43e8-b6e1-febdfe6d1d3c"
function open_cryptdevice() {
if [ -L "$1" ]; then
/usr/bin/sudo /usr/bin/cryptsetup luksOpen $1 $2
else
echo "Error: Device $2 ($1) is not available."
return 1
fi
}
function close_cryptdevice() {
/usr/bin/sudo /usr/bin/cryptsetup luksClose $1
}
function mount_cryptdevice() {
if [[ -e "/dev/mapper/$1" ]]; then
sudo mount /dev/mapper/$1 /mnt/$1
if [ $1 = "media" ]; then
sudo mount --bind /mnt/media/music /mnt/music
sudo mount --bind /mnt/media/photos /mnt/photos
if [ ! -h ~/.cache/shotwell ]; then
ln -s /mnt/photos/shotwell/ ~/.cache/shotwell
fi
fi
else
echo "Error: Device /dev/mapper/$1 is not available."
return 1
fi
}
function unmount_cryptdevice() {
if [ $1 = "media" ]; then
/usr/bin/sudo /usr/bin/umount /mnt/{music,photos}
fi
/usr/bin/sudo /usr/bin/umount /mnt/$1
}
case $1 in
"open")
case $2 in
"storage")
open_cryptdevice $storage $2
;;
"music")
open_cryptdevice $music $2
;;
"photos")
open_cryptdevice $photos $2
;;
"backup")
open_cryptdevice $backup $2
;;
"video")
open_cryptdevice $video $2
;;
"media")
open_cryptdevice $media $2
;;
esac
mount_cryptdevice $2
;;
"close")
unmount_cryptdevice $2
close_cryptdevice $2
;;
esac
|