Explorar el Código

Fix gpg key generation

Bob Mottram hace 7 años
padre
commit
bd33b8145c
Se han modificado 3 ficheros con 14 adiciones y 8 borrados
  1. 3
    2
      src/freedombone-adduser
  2. 6
    3
      src/freedombone-base-email
  3. 5
    3
      src/freedombone-utils-backup

+ 3
- 2
src/freedombone-adduser Ver fichero

@@ -144,11 +144,12 @@ echo "Name-Real:  $ADD_USERNAME" >> /home/$ADD_USERNAME/gpg-genkey.conf
144 144
 echo "Name-Email: $ADD_USERNAME@$HOSTNAME" >> /home/$ADD_USERNAME/gpg-genkey.conf
145 145
 echo 'Expire-Date: 0' >> /home/$ADD_USERNAME/gpg-genkey.conf
146 146
 chown $ADD_USERNAME:$ADD_USERNAME /home/$ADD_USERNAME/gpg-genkey.conf
147
-su -c "gpg --batch --gen-key /home/$ADD_USERNAME/gpg-genkey.conf" - $ADD_USERNAME
147
+su -m root -c "gpg --homedir /home/$ADD_USERNAME/.gnupg --batch --passphrase '' --gen-key /home/$ADD_USERNAME/gpg-genkey.conf" - $ADD_USERNAME
148
+chown -R $ADD_USERNAME:$ADD_USERNAME /home/$ADD_USERNAME/.gnupg
148 149
 shred -zu /home/$ADD_USERNAME/gpg-genkey.conf
149 150
 MY_GPG_PUBLIC_KEY_ID=$(gpg_pubkey_from_email "$ADD_USERNAME" "$ADD_USERNAME@$HOSTNAME")
150 151
 MY_GPG_PUBLIC_KEY=/home/$ADD_USERNAME/public_key.gpg
151
-su -c "gpg --output $MY_GPG_PUBLIC_KEY --armor --export $MY_GPG_PUBLIC_KEY_ID" - $ADD_USERNAME
152
+su -m root -c "gpg --output $MY_GPG_PUBLIC_KEY --armor --export $MY_GPG_PUBLIC_KEY_ID" - $ADD_USERNAME
152 153
 
153 154
 if [ ! -f $MY_GPG_PUBLIC_KEY ]; then
154 155
     echo "GPG public key was not generated for $ADD_USERNAME@$HOSTNAME $MY_GPG_PUBLIC_KEY_ID"

+ 6
- 3
src/freedombone-base-email Ver fichero

@@ -1499,7 +1499,9 @@ function create_gpg_subkey {
1499 1499
     echo "Name-Comment: $GPG_KEY_USAGE" >> /home/$MY_USERNAME/gpg-genkey.conf
1500 1500
     echo 'Expire-Date: 0' >> /home/$MY_USERNAME/gpg-genkey.conf
1501 1501
     chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/gpg-genkey.conf
1502
-    su -c "gpg --batch --gen-key /home/$MY_USERNAME/gpg-genkey.conf" - $MY_USERNAME
1502
+    su -m root -c "gpg --homedir /home/$MY_USERNAME/.gnupg --batch --passphrase '' --gen-key /home/$MY_USERNAME/gpg-genkey.conf" - $MY_USERNAME
1503
+    chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.gnupg
1504
+
1503 1505
     shred -zu /home/$MY_USERNAME/gpg-genkey.conf
1504 1506
     MY_GPG_SUBKEY_ID=$(su -c "gpg --list-keys $MY_EMAIL_ADDRESS | grep 'pub '" - $MY_USERNAME | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}')
1505 1507
 
@@ -1612,7 +1614,8 @@ function configure_gpg {
1612 1614
         echo 'Expire-Date: 0' >> /home/$MY_USERNAME/gpg-genkey.conf
1613 1615
         chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/gpg-genkey.conf
1614 1616
         echo $'Generating a new GPG key'
1615
-        su -c "gpg --batch --gen-key /home/$MY_USERNAME/gpg-genkey.conf" - $MY_USERNAME
1617
+        su -m root -c "gpg --homedir /home/$MY_USERNAME/.gnupg --batch --passphrase '' --gen-key /home/$MY_USERNAME/gpg-genkey.conf" - $MY_USERNAME
1618
+        chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.gnupg
1616 1619
         KEY_EXISTS=$(gpg_key_exists "$MY_USERNAME" "$MY_EMAIL_ADDRESS")
1617 1620
         if [[ $KEY_EXISTS == "no" ]]; then
1618 1621
             echo $"A GPG key for $MY_EMAIL_ADDRESS could not be created"
@@ -1624,7 +1627,7 @@ function configure_gpg {
1624 1627
             echo $'GPG public key ID could not be obtained'
1625 1628
         fi
1626 1629
         MY_GPG_PUBLIC_KEY=/tmp/public_key.gpg
1627
-        su -c "gpg --output $MY_GPG_PUBLIC_KEY --armor --export $MY_GPG_PUBLIC_KEY_ID" - $MY_USERNAME
1630
+        su -m root -c "gpg --homedir /home/$MY_USERNAME/.gnupg --output $MY_GPG_PUBLIC_KEY --armor --export $MY_GPG_PUBLIC_KEY_ID" - $MY_USERNAME
1628 1631
 
1629 1632
         if grep -q "install_email" $COMPLETION_FILE; then
1630 1633
             if ! grep -q $"Change your GPG password" /home/$MY_USERNAME/README; then

+ 5
- 3
src/freedombone-utils-backup Ver fichero

@@ -72,7 +72,9 @@ function configure_backup_key {
72 72
         echo 'Expire-Date: 0' >> /home/$MY_USERNAME/gpg-genkey.conf
73 73
         chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/gpg-genkey.conf
74 74
         echo $'Backup key does not exist. Creating it.'
75
-        su -c "gpg --batch --gen-key /home/$MY_USERNAME/gpg-genkey.conf" - $MY_USERNAME
75
+        su -m root -c "gpg --homedir /home/$MY_USERNAME/.gnupg --batch --passphrase '' --gen-key /home/$MY_USERNAME/gpg-genkey.conf" - $MY_USERNAME
76
+        chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.gnupg
77
+
76 78
         shred -zu /home/$MY_USERNAME/gpg-genkey.conf
77 79
         echo $'Checking that the Backup key was created'
78 80
         BACKUP_KEY_EXISTS=$(gpg_key_exists "$MY_USERNAME" "$MY_NAME (backup key)")
@@ -84,8 +86,8 @@ function configure_backup_key {
84 86
     MY_BACKUP_KEY_ID=$(su -c "gpg --list-keys \"$MY_NAME (backup key)\" | grep 'pub '" - $MY_USERNAME | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}')
85 87
     echo "Backup key: $MY_BACKUP_KEY_ID"
86 88
     MY_BACKUP_KEY=/home/$MY_USERNAME/backup_key
87
-    su -c "gpg --output ${MY_BACKUP_KEY}_public.asc --armor --export $MY_BACKUP_KEY_ID" - $MY_USERNAME
88
-    su -c "gpg --output ${MY_BACKUP_KEY}_private.asc --armor --export-secret-key $MY_BACKUP_KEY_ID" - $MY_USERNAME
89
+    su -m root -c "gpg --homedir /home/$MY_USERNAME/.gnupg --output ${MY_BACKUP_KEY}_public.asc --armor --export $MY_BACKUP_KEY_ID" - $MY_USERNAME
90
+    su -m root -c "gpg --homedir /home/$MY_USERNAME/.gnupg --output ${MY_BACKUP_KEY}_private.asc --armor --export-secret-key $MY_BACKUP_KEY_ID" - $MY_USERNAME
89 91
     if [ ! -f ${MY_BACKUP_KEY}_public.asc ]; then
90 92
         echo 'Public backup key could not be exported'
91 93
         exit 36829