|
@@ -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" \
|