Browse Source

Check that public key was generated

Bob Mottram 9 years ago
parent
commit
93f6cbb1e8
1 changed files with 15 additions and 8 deletions
  1. 15
    8
      src/freedombone-adduser

+ 15
- 8
src/freedombone-adduser View File

5
 
5
 
6
 if [ ! $MY_USERNAME ]; then
6
 if [ ! $MY_USERNAME ]; then
7
     echo 'No username was given'
7
     echo 'No username was given'
8
-	exit 1
8
+    exit 1
9
 fi
9
 fi
10
 
10
 
11
 if [ -d /home/$MY_USERNAME ]; then
11
 if [ -d /home/$MY_USERNAME ]; then
12
     echo "The user $MY_USERNAME already exists"
12
     echo "The user $MY_USERNAME already exists"
13
-	exit 2
13
+    exit 2
14
 fi
14
 fi
15
 
15
 
16
 NEW_USER_PASSWORD="$(openssl rand -base64 10 | cut -c1-8)"
16
 NEW_USER_PASSWORD="$(openssl rand -base64 10 | cut -c1-8)"
18
 adduser $MY_USERNAME sasl
18
 adduser $MY_USERNAME sasl
19
 
19
 
20
 if [ ! -d /home/$MY_USERNAME ]; then
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
 fi
23
 fi
24
 
24
 
25
 if [ ! -d /home/$MY_USERNAME/Maildir ]; then
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
 fi
29
 fi
30
 
30
 
31
 # generate a gpg key
31
 # generate a gpg key
55
 su -c "gpg --batch --gen-key /home/$MY_USERNAME/gpg-genkey.conf" - $MY_USERNAME
55
 su -c "gpg --batch --gen-key /home/$MY_USERNAME/gpg-genkey.conf" - $MY_USERNAME
56
 shred -zu /home/$MY_USERNAME/gpg-genkey.conf
56
 shred -zu /home/$MY_USERNAME/gpg-genkey.conf
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}')
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
 su -c "gpg --output $MY_GPG_PUBLIC_KEY --armor --export $MY_GPG_PUBLIC_KEY_ID" - $MY_USERNAME
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
 if ! grep -q "Change your GPG password" /home/$MY_USERNAME/README; then
67
 if ! grep -q "Change your GPG password" /home/$MY_USERNAME/README; then
62
     echo '' >> /home/$MY_USERNAME/README
68
     echo '' >> /home/$MY_USERNAME/README
63
     echo '' >> /home/$MY_USERNAME/README
69
     echo '' >> /home/$MY_USERNAME/README
86
 fi
92
 fi
87
 
93
 
88
 chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
94
 chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
95
+chown $MY_USERNAME:$MY_USERNAME $MY_GPG_PUBLIC_KEY
89
 chmod 600 /home/$MY_USERNAME/README
96
 chmod 600 /home/$MY_USERNAME/README
90
 
97
 
91
 echo "Adding an XMPP account for $MY_USERNAME"
98
 echo "Adding an XMPP account for $MY_USERNAME"