Ver código fonte

Check that public key was generated

Bob Mottram 9 anos atrás
pai
commit
93f6cbb1e8
1 arquivos alterados com 15 adições e 8 exclusões
  1. 15
    8
      src/freedombone-adduser

+ 15
- 8
src/freedombone-adduser Ver arquivo

@@ -5,12 +5,12 @@ SSH_PORT=2222
5 5
 
6 6
 if [ ! $MY_USERNAME ]; then
7 7
     echo 'No username was given'
8
-	exit 1
8
+    exit 1
9 9
 fi
10 10
 
11 11
 if [ -d /home/$MY_USERNAME ]; then
12 12
     echo "The user $MY_USERNAME already exists"
13
-	exit 2
13
+    exit 2
14 14
 fi
15 15
 
16 16
 NEW_USER_PASSWORD="$(openssl rand -base64 10 | cut -c1-8)"
@@ -18,14 +18,14 @@ useradd -m -p "$NEW_USER_PASSWORD" -s /bin/bash $MY_USERNAME
18 18
 adduser $MY_USERNAME sasl
19 19
 
20 20
 if [ ! -d /home/$MY_USERNAME ]; then
21
-	echo 'Home directory was not created'
22
-	exit 3
21
+    echo 'Home directory was not created'
22
+    exit 3
23 23
 fi
24 24
 
25 25
 if [ ! -d /home/$MY_USERNAME/Maildir ]; then
26
-	echo 'Email directory was not created'
27
-	userdel -r $MY_USERNAME
28
-	exit 4
26
+    echo 'Email directory was not created'
27
+    userdel -r $MY_USERNAME
28
+    exit 4
29 29
 fi
30 30
 
31 31
 # generate a gpg key
@@ -55,9 +55,15 @@ chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/gpg-genkey.conf
55 55
 su -c "gpg --batch --gen-key /home/$MY_USERNAME/gpg-genkey.conf" - $MY_USERNAME
56 56
 shred -zu /home/$MY_USERNAME/gpg-genkey.conf
57 57
 MY_GPG_PUBLIC_KEY_ID=$(su -c "gpg --list-keys $MY_USERNAME@$HOSTNAME | grep 'pub '" - $MY_USERNAME | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}')
58
-MY_GPG_PUBLIC_KEY=/tmp/public_key.gpg
58
+MY_GPG_PUBLIC_KEY=/home/$MY_USERNAME/public_key.gpg
59 59
 su -c "gpg --output $MY_GPG_PUBLIC_KEY --armor --export $MY_GPG_PUBLIC_KEY_ID" - $MY_USERNAME
60 60
 
61
+if [ ! -f $MY_GPG_PUBLIC_KEY ]; then
62
+    echo "GPG public key was not generated for $MY_USERNAME@$HOSTNAME $MY_GPG_PUBLIC_KEY_ID"
63
+    userdel -r $MY_USERNAME
64
+    exit 5
65
+fi
66
+
61 67
 if ! grep -q "Change your GPG password" /home/$MY_USERNAME/README; then
62 68
     echo '' >> /home/$MY_USERNAME/README
63 69
     echo '' >> /home/$MY_USERNAME/README
@@ -86,6 +92,7 @@ if ! grep -q "Publish your GPG public key" /home/$MY_USERNAME/README; then
86 92
 fi
87 93
 
88 94
 chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
95
+chown $MY_USERNAME:$MY_USERNAME $MY_GPG_PUBLIC_KEY
89 96
 chmod 600 /home/$MY_USERNAME/README
90 97
 
91 98
 echo "Adding an XMPP account for $MY_USERNAME"