Procházet zdrojové kódy

Fix gpg key generation

Bob Mottram před 7 roky
rodič
revize
bd33b8145c
3 změnil soubory, kde provedl 14 přidání a 8 odebrání
  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 Zobrazit soubor

144
 echo "Name-Email: $ADD_USERNAME@$HOSTNAME" >> /home/$ADD_USERNAME/gpg-genkey.conf
144
 echo "Name-Email: $ADD_USERNAME@$HOSTNAME" >> /home/$ADD_USERNAME/gpg-genkey.conf
145
 echo 'Expire-Date: 0' >> /home/$ADD_USERNAME/gpg-genkey.conf
145
 echo 'Expire-Date: 0' >> /home/$ADD_USERNAME/gpg-genkey.conf
146
 chown $ADD_USERNAME:$ADD_USERNAME /home/$ADD_USERNAME/gpg-genkey.conf
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
 shred -zu /home/$ADD_USERNAME/gpg-genkey.conf
149
 shred -zu /home/$ADD_USERNAME/gpg-genkey.conf
149
 MY_GPG_PUBLIC_KEY_ID=$(gpg_pubkey_from_email "$ADD_USERNAME" "$ADD_USERNAME@$HOSTNAME")
150
 MY_GPG_PUBLIC_KEY_ID=$(gpg_pubkey_from_email "$ADD_USERNAME" "$ADD_USERNAME@$HOSTNAME")
150
 MY_GPG_PUBLIC_KEY=/home/$ADD_USERNAME/public_key.gpg
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
 if [ ! -f $MY_GPG_PUBLIC_KEY ]; then
154
 if [ ! -f $MY_GPG_PUBLIC_KEY ]; then
154
     echo "GPG public key was not generated for $ADD_USERNAME@$HOSTNAME $MY_GPG_PUBLIC_KEY_ID"
155
     echo "GPG public key was not generated for $ADD_USERNAME@$HOSTNAME $MY_GPG_PUBLIC_KEY_ID"

+ 6
- 3
src/freedombone-base-email Zobrazit soubor

1499
     echo "Name-Comment: $GPG_KEY_USAGE" >> /home/$MY_USERNAME/gpg-genkey.conf
1499
     echo "Name-Comment: $GPG_KEY_USAGE" >> /home/$MY_USERNAME/gpg-genkey.conf
1500
     echo 'Expire-Date: 0' >> /home/$MY_USERNAME/gpg-genkey.conf
1500
     echo 'Expire-Date: 0' >> /home/$MY_USERNAME/gpg-genkey.conf
1501
     chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/gpg-genkey.conf
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
     shred -zu /home/$MY_USERNAME/gpg-genkey.conf
1505
     shred -zu /home/$MY_USERNAME/gpg-genkey.conf
1504
     MY_GPG_SUBKEY_ID=$(su -c "gpg --list-keys $MY_EMAIL_ADDRESS | grep 'pub '" - $MY_USERNAME | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}')
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
         echo 'Expire-Date: 0' >> /home/$MY_USERNAME/gpg-genkey.conf
1614
         echo 'Expire-Date: 0' >> /home/$MY_USERNAME/gpg-genkey.conf
1613
         chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/gpg-genkey.conf
1615
         chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/gpg-genkey.conf
1614
         echo $'Generating a new GPG key'
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
         KEY_EXISTS=$(gpg_key_exists "$MY_USERNAME" "$MY_EMAIL_ADDRESS")
1619
         KEY_EXISTS=$(gpg_key_exists "$MY_USERNAME" "$MY_EMAIL_ADDRESS")
1617
         if [[ $KEY_EXISTS == "no" ]]; then
1620
         if [[ $KEY_EXISTS == "no" ]]; then
1618
             echo $"A GPG key for $MY_EMAIL_ADDRESS could not be created"
1621
             echo $"A GPG key for $MY_EMAIL_ADDRESS could not be created"
1624
             echo $'GPG public key ID could not be obtained'
1627
             echo $'GPG public key ID could not be obtained'
1625
         fi
1628
         fi
1626
         MY_GPG_PUBLIC_KEY=/tmp/public_key.gpg
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
         if grep -q "install_email" $COMPLETION_FILE; then
1632
         if grep -q "install_email" $COMPLETION_FILE; then
1630
             if ! grep -q $"Change your GPG password" /home/$MY_USERNAME/README; then
1633
             if ! grep -q $"Change your GPG password" /home/$MY_USERNAME/README; then

+ 5
- 3
src/freedombone-utils-backup Zobrazit soubor

72
         echo 'Expire-Date: 0' >> /home/$MY_USERNAME/gpg-genkey.conf
72
         echo 'Expire-Date: 0' >> /home/$MY_USERNAME/gpg-genkey.conf
73
         chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/gpg-genkey.conf
73
         chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/gpg-genkey.conf
74
         echo $'Backup key does not exist. Creating it.'
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
         shred -zu /home/$MY_USERNAME/gpg-genkey.conf
78
         shred -zu /home/$MY_USERNAME/gpg-genkey.conf
77
         echo $'Checking that the Backup key was created'
79
         echo $'Checking that the Backup key was created'
78
         BACKUP_KEY_EXISTS=$(gpg_key_exists "$MY_USERNAME" "$MY_NAME (backup key)")
80
         BACKUP_KEY_EXISTS=$(gpg_key_exists "$MY_USERNAME" "$MY_NAME (backup key)")
84
     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}')
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
     echo "Backup key: $MY_BACKUP_KEY_ID"
87
     echo "Backup key: $MY_BACKUP_KEY_ID"
86
     MY_BACKUP_KEY=/home/$MY_USERNAME/backup_key
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
     if [ ! -f ${MY_BACKUP_KEY}_public.asc ]; then
91
     if [ ! -f ${MY_BACKUP_KEY}_public.asc ]; then
90
         echo 'Public backup key could not be exported'
92
         echo 'Public backup key could not be exported'
91
         exit 36829
93
         exit 36829