Browse Source

Command to format drives as LUKS

Bob Mottram 9 years ago
parent
commit
b199fb98fd
4 changed files with 65 additions and 15 deletions
  1. 4
    0
      Makefile
  2. BIN
      man/freedombone-format.1.gz
  3. 60
    0
      src/freedombone-format
  4. 1
    15
      src/freedombone-keydrive

+ 4
- 0
Makefile View File

@@ -44,6 +44,7 @@ install:
44 44
 	install -m 755 src/${APP}-addsipuser ${DESTDIR}${PREFIX}/bin
45 45
 	install -m 755 src/${APP}-rmsipuser ${DESTDIR}${PREFIX}/bin
46 46
 	install -m 755 src/${APP}-sipfreeext ${DESTDIR}${PREFIX}/bin
47
+	install -m 755 src/${APP}-format ${DESTDIR}${PREFIX}/bin
47 48
 	mkdir -m 755 -p ${DESTDIR}${PREFIX}/share/man/man1
48 49
 	install -m 644 man/${APP}.1.gz ${DESTDIR}${PREFIX}/share/man/man1
49 50
 	install -m 644 man/${APP}-keydrive.1.gz ${DESTDIR}${PREFIX}/share/man/man1
@@ -73,6 +74,7 @@ install:
73 74
 	install -m 644 man/${APP}-logging.1.gz ${DESTDIR}${PREFIX}/share/man/man1
74 75
 	install -m 644 man/${APP}-addsipuser.1.gz ${DESTDIR}${PREFIX}/share/man/man1
75 76
 	install -m 644 man/${APP}-rmsipuser.1.gz ${DESTDIR}${PREFIX}/share/man/man1
77
+	install -m 644 man/${APP}-format.1.gz ${DESTDIR}${PREFIX}/share/man/man1
76 78
 uninstall:
77 79
 	rm -f ${PREFIX}/share/man/man1/${APP}.1.gz
78 80
 	rm -f ${PREFIX}/share/man/man1/${APP}-keydrive.1.gz
@@ -102,6 +104,7 @@ uninstall:
102 104
 	rm -f ${PREFIX}/share/man/man1/${APP}-logging.1.gz
103 105
 	rm -f ${PREFIX}/share/man/man1/${APP}-addsipuser.1.gz
104 106
 	rm -f ${PREFIX}/share/man/man1/${APP}-rmsipuser.1.gz
107
+	rm -f ${PREFIX}/share/man/man1/${APP}-format.1.gz
105 108
 	rm -rf ${PREFIX}/share/${APP}
106 109
 	rm -f ${PREFIX}/bin/${APP}
107 110
 	rm -f ${PREFIX}/bin/zeronetavahi
@@ -135,6 +138,7 @@ uninstall:
135 138
 	rm -f ${PREFIX}/bin/${APP}-addsipuser
136 139
 	rm -f ${PREFIX}/bin/${APP}-rmsipuser
137 140
 	rm -f ${PREFIX}/bin/${APP}-sipfreeext
141
+	rm -f ${PREFIX}/bin/${APP}-format
138 142
 clean:
139 143
 	rm -f \#* \.#* debian/*.substvars debian/*.log
140 144
 	rm -fr deb.* debian/${APP}

BIN
man/freedombone-format.1.gz View File


+ 60
- 0
src/freedombone-format View File

@@ -0,0 +1,60 @@
1
+#!/bin/bash
2
+#
3
+# .---.                  .              .
4
+# |                      |              |
5
+# |--- .--. .-.  .-.  .-.|  .-. .--.--. |.-.  .-. .--.  .-.
6
+# |    |   (.-' (.-' (   | (   )|  |  | |   )(   )|  | (.-'
7
+# '    '     --'  --'  -' -  -' '  '   -' -'   -' '   -  --'
8
+#
9
+#                    Freedom in the Cloud
10
+#
11
+# Makes a USB drive containing a gpg key fragment
12
+#
13
+# License
14
+# =======
15
+#
16
+# Copyright (C) 2015 Bob Mottram <bob@robotics.uk.to>
17
+#
18
+# This program is free software: you can redistribute it and/or modify
19
+# it under the terms of the GNU General Public License as published by
20
+# the Free Software Foundation, either version 3 of the License, or
21
+# (at your option) any later version.
22
+#
23
+# This program is distributed in the hope that it will be useful,
24
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
25
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26
+# GNU General Public License for more details.
27
+#
28
+# You should have received a copy of the GNU General Public License
29
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
30
+
31
+
32
+if [ ! $1 ]; then
33
+   echo 'Specify a drive, such as sdb, sdc, etc'
34
+   exit 1
35
+fi
36
+
37
+USB_DRIVE=/dev/$1
38
+
39
+echo "Formatting $USB_DRIVE as LUKS"
40
+cryptsetup -y -v luksFormat $USB_DRIVE
41
+if [ ! "$?" = "0" ]; then
42
+    echo "Failed to format $USB_DRIVE as LUKS"
43
+    exit 36823
44
+fi
45
+cryptsetup luksOpen $USB_DRIVE encrypted_usb
46
+if [ ! "$?" = "0" ]; then
47
+    echo "Failed to open LUKS formatted drive $USB_DRIVE"
48
+    exit 37232
49
+fi
50
+mkfs.ext4 /dev/mapper/encrypted_usb
51
+if [ ! "$?" = "0" ]; then
52
+    echo 'Format of drive $USB_DRIVE failed'
53
+    exit 73218
54
+fi
55
+cryptsetup luksClose encrypted_usb
56
+if [ -f /dev/mapper/encrypted_usb ]; then
57
+    rm -rf /dev/mapper/encrypted_usb
58
+fi
59
+echo 'Format completed'
60
+exit 0

+ 1
- 15
src/freedombone-keydrive View File

@@ -105,24 +105,10 @@ cryptsetup luksClose encrypted_usb
105 105
 
106 106
 # optionally format the drive
107 107
 if [[ $FORMAT == "yes" ]]; then
108
-  echo "Formatting ${USB_DRIVE::-1} as LUKS"
109
-  cryptsetup -y -v luksFormat ${USB_DRIVE::-1}
108
+  freedombone-format ${USB_DRIVE::-1}
110 109
   if [ ! "$?" = "0" ]; then
111 110
       exit 36823
112 111
   fi
113
-  cryptsetup luksOpen ${USB_DRIVE::-1} encrypted_usb
114
-  if [ ! "$?" = "0" ]; then
115
-      exit 37232
116
-  fi
117
-  mkfs.ext4 /dev/mapper/encrypted_usb
118
-  if [ ! "$?" = "0" ]; then
119
-      exit 73218
120
-  fi
121
-  cryptsetup luksClose encrypted_usb
122
-  if [ -f /dev/mapper/encrypted_usb ]; then
123
-      rm -rf /dev/mapper/encrypted_usb
124
-  fi
125
-  echo 'Format completed'
126 112
 fi
127 113
 
128 114
 cryptsetup luksOpen $USB_DRIVE encrypted_usb