Bob Mottram 7 anni fa
parent
commit
e4ab5fe54e
1 ha cambiato i file con 25 aggiunte e 7 eliminazioni
  1. 25
    7
      src/freedombone-utils-keys

+ 25
- 7
src/freedombone-utils-keys Vedi File

@@ -28,6 +28,28 @@
28 28
 # You should have received a copy of the GNU Affero General Public License
29 29
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
30 30
 
31
+function gpg_delete_key {
32
+    key_username=$1
33
+    key_id=$2
34
+
35
+    su -c "gpg --batch --quiet --homedir=/home/$key_username/.gnupg --delete-secret-key $key_id" - $key_username
36
+    su -c "gpg --batch --quiet --homedir=/home/$key_username/.gnupg --delete-key $key_id" - $key_username
37
+}
38
+
39
+function gpg_set_permissions {
40
+    key_username=$1
41
+
42
+    if [[ "$key_username" != 'root' ]]; then
43
+        chmod 700 /home/$key_username/.gnupg
44
+        chmod -R 600 /home/$key_username/.gnupg/*
45
+        chown -R $key_username:$key_username /home/$key_username/.gnupg
46
+    else
47
+        chmod 700 /root/.gnupg
48
+        chmod -R 600 /root/.gnupg/*
49
+        chown -R $key_username:$key_username /root/.gnupg
50
+    fi
51
+}
52
+
31 53
 function reconstruct_key {
32 54
     if [ ! -d /home/$MY_USERNAME/.gnupg_fragments ]; then
33 55
         return
@@ -143,18 +165,14 @@ function interactive_gpg_from_usb {
143 165
                 chown -R $MY_USERNAME:$MY_USERNAME $HOME_DIR/.gnupg_old
144 166
             fi
145 167
             echo $'Removing old gpg keys'
146
-            gpg --batch --quiet --homedir=$HOME_DIR/.gnupg --delete-key "$CURR_GPG_BACKUP_ID"
147
-            gpg --batch --quiet --homedir=$HOME_DIR/.gnupg --delete-key "$CURR_GPG_ID"
148
-            gpg --batch --quiet --homedir=$HOME_DIR/.gnupg --delete-secret-key "$CURR_GPG_BACKUP_ID"
149
-            gpg --batch --quiet --homedir=$HOME_DIR/.gnupg --delete-secret-key "$CURR_GPG_ID"
168
+            gpg_delete_key $MY_USERNAME $CURR_GPG_BACKUP_ID
169
+            gpg_delete_key $MY_USERNAME $CURR_GPG_ID
150 170
             echo $'Importing master keys'
151 171
             gpg --homedir=$HOME_DIR/.gnupg --allow-secret-key-import --import $USB_MOUNT/.mastergpgkey
152 172
             echo "$BACKUP_DUMMY_PASSWORD" | gpg --batch --passphrase-fd 0 --homedir=$HOME_DIR/.gnupg --allow-secret-key-import --import $USB_MOUNT/.backupgpgkey
153 173
             if [ -d $HOME_DIR/.gnupg ]; then
154 174
                 echo $'Setting permissions'
155
-                chmod 700 $HOME_DIR/.gnupg
156
-                chmod -R 600 $HOME_DIR/.gnupg/*
157
-                chown -R $MY_USERNAME:$MY_USERNAME $HOME_DIR/.gnupg
175
+                gpg_set_permissions $MY_USERNAME
158 176
             fi
159 177
             GPG_LOADING="no"
160 178
             dialog --title $"Recover Encryption Keys" \