Bob Mottram 10 лет назад
Родитель
Сommit
de7673faec
1 измененных файлов: 14 добавлений и 5 удалений
  1. 14
    5
      install-freedombone.sh

+ 14
- 5
install-freedombone.sh Просмотреть файл

@@ -168,6 +168,9 @@ GPG_KEYS_IMPORTED="no"
168 168
 MY_GPG_PUBLIC_KEY=
169 169
 MY_GPG_PRIVATE_KEY=
170 170
 
171
+# optionally specify your public key ID
172
+MY_GPG_PUBLIC_KEY_ID=
173
+
171 174
 # If you have existing mail within a Maildir
172 175
 # you can specify the directory here and the files
173 176
 # will be imported
@@ -1373,6 +1376,7 @@ function configure_gpg {
1373 1376
   # if gpg keys directory was previously imported from usb
1374 1377
   if [[ $GPG_KEYS_IMPORTED == "yes" && -d /home/$MY_USERNAME/.gnupg ]]; then
1375 1378
       sed -i "s|keyserver hkp://keys.gnupg.net|keyserver $GPG_KEYSERVER|g" /home/$MY_USERNAME/.gnupg/gpg.conf
1379
+      MY_GPG_PUBLIC_KEY_ID=$(su -c "gpg --list-keys $MY_USERNAME@$DOMAIN_NAME | grep 'pub ' | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}'" - $MY_USERNAME)
1376 1380
       echo 'configure_gpg' >> $COMPLETION_FILE
1377 1381
       return
1378 1382
   fi
@@ -1409,6 +1413,7 @@ function configure_gpg {
1409 1413
       su -c "gpg --allow-secret-key-import --import $MY_GPG_PRIVATE_KEY" - $MY_USERNAME
1410 1414
       # for security ensure that the private key file doesn't linger around
1411 1415
       shred -zu $MY_GPG_PRIVATE_KEY
1416
+      MY_GPG_PUBLIC_KEY_ID=$(su -c "gpg --list-keys $MY_USERNAME@$DOMAIN_NAME | grep 'pub ' | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}'" - $MY_USERNAME)
1412 1417
   else
1413 1418
       # Generate a GPG key
1414 1419
       echo 'Key-Type: 1' > /home/$MY_USERNAME/gpg-genkey.conf
@@ -1421,7 +1426,7 @@ function configure_gpg {
1421 1426
       chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/gpg-genkey.conf
1422 1427
       su -c "gpg --batch --gen-key /home/$MY_USERNAME/gpg-genkey.conf" - $MY_USERNAME
1423 1428
       shred -zu /home/$MY_USERNAME/gpg-genkey.conf
1424
-      MY_GPG_PUBLIC_KEY_ID=$(su -c "gpg --list-keys $DOMAIN_NAME | grep 'pub ' | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}'" - $MY_USERNAME)
1429
+      MY_GPG_PUBLIC_KEY_ID=$(su -c "gpg --list-keys $MY_USERNAME@$DOMAIN_NAME | grep 'pub ' | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}'" - $MY_USERNAME)
1425 1430
       MY_GPG_PUBLIC_KEY=/tmp/public_key.gpg
1426 1431
       su -c "gpg --output $MY_GPG_PUBLIC_KEY --armor --export $MY_GPG_PUBLIC_KEY_ID" - $MY_USERNAME
1427 1432
   fi
@@ -3643,12 +3648,12 @@ function backup_to_friends_servers {
3643 3648
   echo '#!/bin/bash' > /usr/bin/backup2friends
3644 3649
   echo 'GPG_KEY=$1' >> /usr/bin/backup2friends
3645 3650
   echo '' >> /usr/bin/backup2friends
3646
-  echo 'if [ ! $GPG_KEY ]; then' >> /usr/bin/backup2friends
3647
-  echo '    echo "No GPG key specified"' >> /usr/bin/backup2friends
3651
+  echo "if [ ! -f $FRIENDS_SERVERS_LIST ]; then" >> /usr/bin/backup2friends
3648 3652
   echo '    exit 1' >> /usr/bin/backup2friends
3649 3653
   echo 'fi' >> /usr/bin/backup2friends
3650 3654
   echo '' >> /usr/bin/backup2friends
3651
-  echo "if [ ! -f $FRIENDS_SERVERS_LIST ]; then" >> /usr/bin/backup2friends
3655
+  echo 'if [ ! $GPG_KEY ]; then' >> /usr/bin/backup2friends
3656
+  echo "    echo 'Unable to perform automated backup. You need to add a GPG key to /etc/cron.daily/backuptofriends' | mail -s 'Backup failure' $MY_USERNAME@$DOMAIN_NAME" >> /usr/bin/backup2friends
3652 3657
   echo '    exit 2' >> /usr/bin/backup2friends
3653 3658
   echo 'fi' >> /usr/bin/backup2friends
3654 3659
   echo '' >> /usr/bin/backup2friends
@@ -3665,7 +3670,11 @@ function backup_to_friends_servers {
3665 3670
 
3666 3671
   # update crontab
3667 3672
   echo '#!/bin/bash' > /etc/cron.daily/backuptofriends
3668
-  echo 'GPG_KEY=' >> /etc/cron.daily/backuptofriends
3673
+  if [ $MY_GPG_PUBLIC_KEY_ID ]; then
3674
+      echo "GPG_KEY=$MY_GPG_PUBLIC_KEY_ID" >> /etc/cron.daily/backuptofriends
3675
+  else
3676
+      echo 'GPG_KEY=' >> /etc/cron.daily/backuptofriends
3677
+  fi
3669 3678
   echo '/usr/bin/backup2friends $GPG_KEY' >> /etc/cron.daily/backuptofriends
3670 3679
   chmod +x /etc/cron.daily/backuptofriends
3671 3680