Procházet zdrojové kódy

Option to format keydrive as LUKS

Bob Mottram před 9 roky
rodič
revize
decee24c46
2 změnil soubory, kde provedl 29 přidání a 1 odebrání
  1. binární
      man/freedombone-keydrive.1.gz
  2. 29
    1
      src/freedombone-keydrive

binární
man/freedombone-keydrive.1.gz Zobrazit soubor


+ 29
- 1
src/freedombone-keydrive Zobrazit soubor

35
 FRAGMENTS_DIR=$USB_MOUNT/.gnupg_fragments
35
 FRAGMENTS_DIR=$USB_MOUNT/.gnupg_fragments
36
 MY_USERNAME=$USER
36
 MY_USERNAME=$USER
37
 MASTER_DRIVE="no"
37
 MASTER_DRIVE="no"
38
+FORMAT="no"
38
 
39
 
39
 function show_help {
40
 function show_help {
40
     echo ''
41
     echo ''
41
-    echo 'freedombone-keydrive -u [username] -d [device, eg. sdb] --master [yes/no] -n [no of fragments]'
42
+    echo 'freedombone-keydrive -u [username] -d [device, eg. sdb] --master [yes/no] -n [no of fragments] --format [yes/no]'
42
     echo ''
43
     echo ''
43
     exit 0
44
     exit 0
44
 }
45
 }
67
     shift
68
     shift
68
     KEY_FRAGMENTS=$1
69
     KEY_FRAGMENTS=$1
69
     ;;
70
     ;;
71
+    -f|--format)
72
+    shift
73
+    FORMAT="yes"
74
+    ;;
70
     *)
75
     *)
71
     # unknown option
76
     # unknown option
72
     ;;
77
     ;;
97
   rm -rf /dev/mapper/encrypted_usb
102
   rm -rf /dev/mapper/encrypted_usb
98
 fi
103
 fi
99
 cryptsetup luksClose encrypted_usb
104
 cryptsetup luksClose encrypted_usb
105
+
106
+# optionally format the drive
107
+if [[ $FORMAT == "yes" ]]; then
108
+  echo "Formatting ${USB_DRIVE::-1} as LUKS"
109
+  cryptsetup -y -v luksFormat ${USB_DRIVE::-1}
110
+  if [ ! "$?" = "0" ]; then
111
+      exit 36823
112
+  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
+fi
127
+
100
 cryptsetup luksOpen $USB_DRIVE encrypted_usb
128
 cryptsetup luksOpen $USB_DRIVE encrypted_usb
101
 if [ "$?" = "0" ]; then
129
 if [ "$?" = "0" ]; then
102
   USB_DRIVE=/dev/mapper/encrypted_usb
130
   USB_DRIVE=/dev/mapper/encrypted_usb