浏览代码

Option to format keydrive as LUKS

Bob Mottram 9 年前
父节点
当前提交
decee24c46
共有 2 个文件被更改,包括 29 次插入1 次删除
  1. 二进制
      man/freedombone-keydrive.1.gz
  2. 29
    1
      src/freedombone-keydrive

二进制
man/freedombone-keydrive.1.gz 查看文件


+ 29
- 1
src/freedombone-keydrive 查看文件

@@ -35,10 +35,11 @@ KEY_FRAGMENTS=3
35 35
 FRAGMENTS_DIR=$USB_MOUNT/.gnupg_fragments
36 36
 MY_USERNAME=$USER
37 37
 MASTER_DRIVE="no"
38
+FORMAT="no"
38 39
 
39 40
 function show_help {
40 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 43
     echo ''
43 44
     exit 0
44 45
 }
@@ -67,6 +68,10 @@ case $key in
67 68
     shift
68 69
     KEY_FRAGMENTS=$1
69 70
     ;;
71
+    -f|--format)
72
+    shift
73
+    FORMAT="yes"
74
+    ;;
70 75
     *)
71 76
     # unknown option
72 77
     ;;
@@ -97,6 +102,29 @@ if [ -f /dev/mapper/encrypted_usb ]; then
97 102
   rm -rf /dev/mapper/encrypted_usb
98 103
 fi
99 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 128
 cryptsetup luksOpen $USB_DRIVE encrypted_usb
101 129
 if [ "$?" = "0" ]; then
102 130
   USB_DRIVE=/dev/mapper/encrypted_usb