|
@@ -46,19 +46,19 @@ FULLBLOG_DOMAIN_NAME=
|
46
|
46
|
DEFAULT_DOMAIN_NAME=
|
47
|
47
|
|
48
|
48
|
if [ ! $MY_USERNAME ]; then
|
49
|
|
- echo $'No username was given'
|
50
|
|
- exit 1
|
|
49
|
+ echo $'No username was given'
|
|
50
|
+ exit 1
|
51
|
51
|
fi
|
52
|
52
|
|
53
|
53
|
if [ -d /home/$MY_USERNAME ]; then
|
54
|
|
- echo $"The user $MY_USERNAME already exists"
|
55
|
|
- exit 2
|
|
54
|
+ echo $"The user $MY_USERNAME already exists"
|
|
55
|
+ exit 2
|
56
|
56
|
fi
|
57
|
57
|
|
58
|
58
|
if [ ! -f $COMPLETION_FILE ]; then
|
59
|
|
- echo $"$COMPLETION_FILE not found"
|
60
|
|
- userdel -r $MY_USERNAME
|
61
|
|
- exit 3
|
|
59
|
+ echo $"$COMPLETION_FILE not found"
|
|
60
|
+ userdel -r $MY_USERNAME
|
|
61
|
+ exit 3
|
62
|
62
|
fi
|
63
|
63
|
|
64
|
64
|
NEW_USER_PASSWORD="$(openssl rand -base64 10 | cut -c1-8)"
|
|
@@ -66,40 +66,40 @@ useradd -m -p "$NEW_USER_PASSWORD" -s /bin/bash $MY_USERNAME
|
66
|
66
|
adduser $MY_USERNAME sasl
|
67
|
67
|
|
68
|
68
|
if [ ! -d /home/$MY_USERNAME ]; then
|
69
|
|
- echo $'Home directory was not created'
|
70
|
|
- exit 4
|
|
69
|
+ echo $'Home directory was not created'
|
|
70
|
+ exit 4
|
71
|
71
|
fi
|
72
|
72
|
|
73
|
73
|
if [ "$SSH_PUBLIC_KEY" ]; then
|
74
|
|
- if [ ${#SSH_PUBLIC_KEY} -gt 5 ]; then
|
75
|
|
- if [ -f "$SSH_PUBLIC_KEY" ]; then
|
76
|
|
- mkdir /home/$MY_USERNAME/.ssh
|
77
|
|
- cp $SSH_PUBLIC_KEY /home/$MY_USERNAME/.ssh/authorized_keys
|
78
|
|
- chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.ssh
|
79
|
|
- echo $'ssh public key installed'
|
80
|
|
- else
|
81
|
|
- if [[ "$SSH_PUBLIC_KEY" == "ssh-"* ]]; then
|
82
|
|
- mkdir /home/$MY_USERNAME/.ssh
|
83
|
|
- echo "$SSH_PUBLIC_KEY" > /home/$MY_USERNAME/.ssh/authorized_keys
|
84
|
|
- chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.ssh
|
85
|
|
- echo $'ssh public key installed'
|
86
|
|
- else
|
87
|
|
- echo $'The second parameter does not look like an ssh key'
|
88
|
|
- exit 5
|
89
|
|
- fi
|
90
|
|
- fi
|
91
|
|
- fi
|
|
74
|
+ if [ ${#SSH_PUBLIC_KEY} -gt 5 ]; then
|
|
75
|
+ if [ -f "$SSH_PUBLIC_KEY" ]; then
|
|
76
|
+ mkdir /home/$MY_USERNAME/.ssh
|
|
77
|
+ cp $SSH_PUBLIC_KEY /home/$MY_USERNAME/.ssh/authorized_keys
|
|
78
|
+ chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.ssh
|
|
79
|
+ echo $'ssh public key installed'
|
|
80
|
+ else
|
|
81
|
+ if [[ "$SSH_PUBLIC_KEY" == "ssh-"* ]]; then
|
|
82
|
+ mkdir /home/$MY_USERNAME/.ssh
|
|
83
|
+ echo "$SSH_PUBLIC_KEY" > /home/$MY_USERNAME/.ssh/authorized_keys
|
|
84
|
+ chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.ssh
|
|
85
|
+ echo $'ssh public key installed'
|
|
86
|
+ else
|
|
87
|
+ echo $'The second parameter does not look like an ssh key'
|
|
88
|
+ exit 5
|
|
89
|
+ fi
|
|
90
|
+ fi
|
|
91
|
+ fi
|
92
|
92
|
fi
|
93
|
93
|
|
94
|
94
|
if [ -d /home/$MY_USERNAME/Maildir ]; then
|
95
|
|
- if grep -q "set from=" /home/$MY_USERNAME/.muttrc; then
|
96
|
|
- sed -i "s|set from=.*|set from='$MY_USERNAME <$MY_USERNAME@$HOSTNAME>'|g" /home/$MY_USERNAME/.muttrc
|
97
|
|
- else
|
98
|
|
- echo "set from='$MY_USERNAME <$MY_USERNAME@$HOSTNAME>'" >> /home/$MY_USERNAME/.muttrc
|
99
|
|
- fi
|
100
|
|
-
|
101
|
|
- USERN='$USER@'
|
102
|
|
- sed -i "s|$USERN|$MY_USERNAME@|g" /home/$MY_USERNAME/.procmailrc
|
|
95
|
+ if grep -q "set from=" /home/$MY_USERNAME/.muttrc; then
|
|
96
|
+ sed -i "s|set from=.*|set from='$MY_USERNAME <$MY_USERNAME@$HOSTNAME>'|g" /home/$MY_USERNAME/.muttrc
|
|
97
|
+ else
|
|
98
|
+ echo "set from='$MY_USERNAME <$MY_USERNAME@$HOSTNAME>'" >> /home/$MY_USERNAME/.muttrc
|
|
99
|
+ fi
|
|
100
|
+
|
|
101
|
+ USERN='$USER@'
|
|
102
|
+ sed -i "s|$USERN|$MY_USERNAME@|g" /home/$MY_USERNAME/.procmailrc
|
103
|
103
|
fi
|
104
|
104
|
|
105
|
105
|
# generate a gpg key
|
|
@@ -133,56 +133,61 @@ MY_GPG_PUBLIC_KEY=/home/$MY_USERNAME/public_key.gpg
|
133
|
133
|
su -c "gpg --output $MY_GPG_PUBLIC_KEY --armor --export $MY_GPG_PUBLIC_KEY_ID" - $MY_USERNAME
|
134
|
134
|
|
135
|
135
|
if [ ! -f $MY_GPG_PUBLIC_KEY ]; then
|
136
|
|
- echo "GPG public key was not generated for $MY_USERNAME@$HOSTNAME $MY_GPG_PUBLIC_KEY_ID"
|
137
|
|
- userdel -r $MY_USERNAME
|
138
|
|
- exit 7
|
|
136
|
+ echo "GPG public key was not generated for $MY_USERNAME@$HOSTNAME $MY_GPG_PUBLIC_KEY_ID"
|
|
137
|
+ userdel -r $MY_USERNAME
|
|
138
|
+ exit 7
|
139
|
139
|
fi
|
|
140
|
+
|
140
|
141
|
# add a monkeysphere subkey
|
141
|
142
|
su -c "monkeysphere gen-subkey $MY_GPG_PUBLIC_KEY_ID" - $MY_USERNAME
|
142
|
|
-
|
|
143
|
+# add authorized GPG email address
|
|
144
|
+mkdir /home/$MY_USERNAME/.monkeysphere
|
|
145
|
+chmod 755 /home/$MY_USERNAME/.monkeysphere
|
|
146
|
+echo "$MY_USERNAME <${$MY_USERNAME@$HOSTNAME}>" > /home/$MY_USERNAME/.monkeysphere/authorized_user_ids
|
|
147
|
+chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.monkeysphere
|
143
|
148
|
|
144
|
149
|
if [ -f /home/$MY_USERNAME/.muttrc ]; then
|
145
|
|
- # encrypt outgoing mail to the "sent" folder
|
146
|
|
- if ! grep -q "pgp_encrypt_only_command" /home/$MY_USERNAME/.muttrc; then
|
147
|
|
- echo '' >> /home/$MY_USERNAME/.muttrc
|
148
|
|
- echo $'# Encrypt items in the Sent folder' >> /home/$MY_USERNAME/.muttrc
|
149
|
|
- echo "set pgp_encrypt_only_command=\"/usr/lib/mutt/pgpewrap gpg --batch --quiet --no-verbose --output - --encrypt --textmode --armor --always-trust --encrypt-to 0x$MY_GPG_PUBLIC_KEY_ID -- -r %r -- %f\"" >> /home/$MY_USERNAME/.muttrc
|
150
|
|
- else
|
151
|
|
- sed -i "s|set pgp_encrypt_only_command.*|set pgp_encrypt_only_command=\"/usr/lib/mutt/pgpewrap gpg --batch --quiet --no-verbose --output - --encrypt --textmode --armor --always-trust --encrypt-to 0x$MY_GPG_PUBLIC_KEY_ID -- -r %r -- %f\"|g" /home/$MY_USERNAME/.muttrc
|
152
|
|
- fi
|
153
|
|
-
|
154
|
|
- if ! grep -q "pgp_encrypt_sign_command" /home/$MY_USERNAME/.muttrc; then
|
155
|
|
- echo "set pgp_encrypt_sign_command=\"/usr/lib/mutt/pgpewrap gpg %?p?--passphrase-fd 0? --batch --quiet --no-verbose --textmode --output - --encrypt --sign %?a?-u %a? --armor --always-trust --encrypt-to 0x$MY_GPG_PUBLIC_KEY_ID -- -r %r -- %f\"" >> /home/$MY_USERNAME/.muttrc
|
156
|
|
- else
|
157
|
|
- sed -i "s|set pgp_encrypt_sign_command.*|set pgp_encrypt_sign_command=\"/usr/lib/mutt/pgpewrap gpg %?p?--passphrase-fd 0? --batch --quiet --no-verbose --textmode --output - --encrypt --sign %?a?-u %a? --armor --always-trust --encrypt-to 0x$MY_GPG_PUBLIC_KEY_ID -- -r %r -- %f\"|g" /home/$MY_USERNAME/.muttrc
|
158
|
|
- fi
|
|
150
|
+ # encrypt outgoing mail to the "sent" folder
|
|
151
|
+ if ! grep -q "pgp_encrypt_only_command" /home/$MY_USERNAME/.muttrc; then
|
|
152
|
+ echo '' >> /home/$MY_USERNAME/.muttrc
|
|
153
|
+ echo $'# Encrypt items in the Sent folder' >> /home/$MY_USERNAME/.muttrc
|
|
154
|
+ echo "set pgp_encrypt_only_command=\"/usr/lib/mutt/pgpewrap gpg --batch --quiet --no-verbose --output - --encrypt --textmode --armor --always-trust --encrypt-to 0x$MY_GPG_PUBLIC_KEY_ID -- -r %r -- %f\"" >> /home/$MY_USERNAME/.muttrc
|
|
155
|
+ else
|
|
156
|
+ sed -i "s|set pgp_encrypt_only_command.*|set pgp_encrypt_only_command=\"/usr/lib/mutt/pgpewrap gpg --batch --quiet --no-verbose --output - --encrypt --textmode --armor --always-trust --encrypt-to 0x$MY_GPG_PUBLIC_KEY_ID -- -r %r -- %f\"|g" /home/$MY_USERNAME/.muttrc
|
|
157
|
+ fi
|
|
158
|
+
|
|
159
|
+ if ! grep -q "pgp_encrypt_sign_command" /home/$MY_USERNAME/.muttrc; then
|
|
160
|
+ echo "set pgp_encrypt_sign_command=\"/usr/lib/mutt/pgpewrap gpg %?p?--passphrase-fd 0? --batch --quiet --no-verbose --textmode --output - --encrypt --sign %?a?-u %a? --armor --always-trust --encrypt-to 0x$MY_GPG_PUBLIC_KEY_ID -- -r %r -- %f\"" >> /home/$MY_USERNAME/.muttrc
|
|
161
|
+ else
|
|
162
|
+ sed -i "s|set pgp_encrypt_sign_command.*|set pgp_encrypt_sign_command=\"/usr/lib/mutt/pgpewrap gpg %?p?--passphrase-fd 0? --batch --quiet --no-verbose --textmode --output - --encrypt --sign %?a?-u %a? --armor --always-trust --encrypt-to 0x$MY_GPG_PUBLIC_KEY_ID -- -r %r -- %f\"|g" /home/$MY_USERNAME/.muttrc
|
|
163
|
+ fi
|
159
|
164
|
fi
|
160
|
165
|
|
161
|
166
|
if ! grep -q "Change your GPG password" /home/$MY_USERNAME/README; then
|
162
|
|
- echo '' >> /home/$MY_USERNAME/README
|
163
|
|
- echo '' >> /home/$MY_USERNAME/README
|
164
|
|
- echo $'Change your GPG password' >> /home/$MY_USERNAME/README
|
165
|
|
- echo '========================' >> /home/$MY_USERNAME/README
|
166
|
|
- echo $"It's very important to add a password to your GPG key so that" >> /home/$MY_USERNAME/README
|
167
|
|
- echo $"if anyone does get access to your email they still won't be able" >> /home/$MY_USERNAME/README
|
168
|
|
- echo $'to read them without knowning the GPG password.' >> /home/$MY_USERNAME/README
|
169
|
|
- echo $'You can change the it with:' >> /home/$MY_USERNAME/README
|
170
|
|
- echo '' >> /home/$MY_USERNAME/README
|
171
|
|
- echo " gpg --edit-key $MY_GPG_PUBLIC_KEY_ID" >> /home/$MY_USERNAME/README
|
172
|
|
- echo ' passwd' >> /home/$MY_USERNAME/README
|
173
|
|
- echo ' save' >> /home/$MY_USERNAME/README
|
174
|
|
- echo ' quit' >> /home/$MY_USERNAME/README
|
|
167
|
+ echo '' >> /home/$MY_USERNAME/README
|
|
168
|
+ echo '' >> /home/$MY_USERNAME/README
|
|
169
|
+ echo $'Change your GPG password' >> /home/$MY_USERNAME/README
|
|
170
|
+ echo '========================' >> /home/$MY_USERNAME/README
|
|
171
|
+ echo $"It's very important to add a password to your GPG key so that" >> /home/$MY_USERNAME/README
|
|
172
|
+ echo $"if anyone does get access to your email they still won't be able" >> /home/$MY_USERNAME/README
|
|
173
|
+ echo $'to read them without knowning the GPG password.' >> /home/$MY_USERNAME/README
|
|
174
|
+ echo $'You can change the it with:' >> /home/$MY_USERNAME/README
|
|
175
|
+ echo '' >> /home/$MY_USERNAME/README
|
|
176
|
+ echo " gpg --edit-key $MY_GPG_PUBLIC_KEY_ID" >> /home/$MY_USERNAME/README
|
|
177
|
+ echo ' passwd' >> /home/$MY_USERNAME/README
|
|
178
|
+ echo ' save' >> /home/$MY_USERNAME/README
|
|
179
|
+ echo ' quit' >> /home/$MY_USERNAME/README
|
175
|
180
|
fi
|
176
|
181
|
|
177
|
182
|
if ! grep -q "Publish your GPG public key" /home/$MY_USERNAME/README; then
|
178
|
|
- echo '' >> /home/$MY_USERNAME/README
|
179
|
|
- echo '' >> /home/$MY_USERNAME/README
|
180
|
|
- echo $'Publish your GPG public key' >> /home/$MY_USERNAME/README
|
181
|
|
- echo '===========================' >> /home/$MY_USERNAME/README
|
182
|
|
- echo $'So that others can send emails to you securely you should' >> /home/$MY_USERNAME/README
|
183
|
|
- echo $'publish your GPG public key with the command:' >> /home/$MY_USERNAME/README
|
184
|
|
- echo '' >> /home/$MY_USERNAME/README
|
185
|
|
- echo " gpg --send-keys $MY_GPG_PUBLIC_KEY_ID" >> /home/$MY_USERNAME/README
|
|
183
|
+ echo '' >> /home/$MY_USERNAME/README
|
|
184
|
+ echo '' >> /home/$MY_USERNAME/README
|
|
185
|
+ echo $'Publish your GPG public key' >> /home/$MY_USERNAME/README
|
|
186
|
+ echo '===========================' >> /home/$MY_USERNAME/README
|
|
187
|
+ echo $'So that others can send emails to you securely you should' >> /home/$MY_USERNAME/README
|
|
188
|
+ echo $'publish your GPG public key with the command:' >> /home/$MY_USERNAME/README
|
|
189
|
+ echo '' >> /home/$MY_USERNAME/README
|
|
190
|
+ echo " gpg --send-keys $MY_GPG_PUBLIC_KEY_ID" >> /home/$MY_USERNAME/README
|
186
|
191
|
fi
|
187
|
192
|
|
188
|
193
|
chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
|
|
@@ -190,196 +195,196 @@ chown $MY_USERNAME:$MY_USERNAME $MY_GPG_PUBLIC_KEY
|
190
|
195
|
chmod 600 /home/$MY_USERNAME/README
|
191
|
196
|
|
192
|
197
|
if grep -q "install_xmpp" $COMPLETION_FILE; then
|
193
|
|
- echo $"Adding an XMPP account for $MY_USERNAME"
|
194
|
|
- ${PROJECT_NAME}-addxmpp -e "$MY_USERNAME@$HOSTNAME" -p "$NEW_USER_PASSWORD"
|
195
|
|
- if [ ! "$?" = "0" ]; then
|
196
|
|
- echo $"XMPP account not created"
|
197
|
|
- userdel -r $MY_USERNAME
|
198
|
|
- exit 8
|
199
|
|
- fi
|
|
198
|
+ echo $"Adding an XMPP account for $MY_USERNAME"
|
|
199
|
+ ${PROJECT_NAME}-addxmpp -e "$MY_USERNAME@$HOSTNAME" -p "$NEW_USER_PASSWORD"
|
|
200
|
+ if [ ! "$?" = "0" ]; then
|
|
201
|
+ echo $"XMPP account not created"
|
|
202
|
+ userdel -r $MY_USERNAME
|
|
203
|
+ exit 8
|
|
204
|
+ fi
|
200
|
205
|
fi
|
201
|
206
|
|
202
|
207
|
if grep -q "install_xmpp_client" $COMPLETION_FILE; then
|
203
|
|
- echo $"Adding XMPP client setup"
|
204
|
|
- XMPP_CLIENT_DIR=/home/$MY_USERNAME/.local/share/profanity
|
205
|
|
- XMPP_CLIENT_ACCOUNTS=$XMPP_CLIENT_DIR/accounts
|
206
|
|
- if [ ! -d $XMPP_CLIENT_DIR ]; then
|
207
|
|
- mkdir -p $XMPP_CLIENT_DIR
|
208
|
|
- fi
|
209
|
|
- if [ ! -d /home/$MY_USERNAME/.config/profanity ]; then
|
210
|
|
- mkdir /home/$MY_USERNAME/.config/profanity
|
211
|
|
- fi
|
212
|
|
- echo "[${MY_USERNAME}@${HOSTNAME}]" > $XMPP_CLIENT_ACCOUNTS
|
213
|
|
- echo 'enabled=true' >> $XMPP_CLIENT_ACCOUNTS
|
214
|
|
- echo "jid=${MY_USERNAME}@${HOSTNAME}" >> $XMPP_CLIENT_ACCOUNTS
|
215
|
|
- echo 'resource=profanity' >> $XMPP_CLIENT_ACCOUNTS
|
216
|
|
- echo "muc.service=conference.${HOSTNAME}" >> $XMPP_CLIENT_ACCOUNTS
|
217
|
|
- echo "muc.nick=${MY_USERNAME}" >> $XMPP_CLIENT_ACCOUNTS
|
218
|
|
- echo 'presence.last=online' >> $XMPP_CLIENT_ACCOUNTS
|
219
|
|
- echo 'presence.login=online' >> $XMPP_CLIENT_ACCOUNTS
|
220
|
|
- echo 'priority.online=0' >> $XMPP_CLIENT_ACCOUNTS
|
221
|
|
- echo 'priority.chat=0' >> $XMPP_CLIENT_ACCOUNTS
|
222
|
|
- echo 'priority.away=0' >> $XMPP_CLIENT_ACCOUNTS
|
223
|
|
- echo 'priority.xa=0' >> $XMPP_CLIENT_ACCOUNTS
|
224
|
|
- echo 'priority.dnd=0' >> $XMPP_CLIENT_ACCOUNTS
|
225
|
|
-
|
226
|
|
- echo '[connection]' > /home/$MY_USERNAME/.config/profanity/profrc
|
227
|
|
- echo "account=${MY_USERNAME}@${HOSTNAME}" >> /home/$MY_USERNAME/.config/profanity/profrc
|
228
|
|
-
|
229
|
|
- chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.local
|
230
|
|
- chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.config
|
|
208
|
+ echo $"Adding XMPP client setup"
|
|
209
|
+ XMPP_CLIENT_DIR=/home/$MY_USERNAME/.local/share/profanity
|
|
210
|
+ XMPP_CLIENT_ACCOUNTS=$XMPP_CLIENT_DIR/accounts
|
|
211
|
+ if [ ! -d $XMPP_CLIENT_DIR ]; then
|
|
212
|
+ mkdir -p $XMPP_CLIENT_DIR
|
|
213
|
+ fi
|
|
214
|
+ if [ ! -d /home/$MY_USERNAME/.config/profanity ]; then
|
|
215
|
+ mkdir /home/$MY_USERNAME/.config/profanity
|
|
216
|
+ fi
|
|
217
|
+ echo "[${MY_USERNAME}@${HOSTNAME}]" > $XMPP_CLIENT_ACCOUNTS
|
|
218
|
+ echo 'enabled=true' >> $XMPP_CLIENT_ACCOUNTS
|
|
219
|
+ echo "jid=${MY_USERNAME}@${HOSTNAME}" >> $XMPP_CLIENT_ACCOUNTS
|
|
220
|
+ echo 'resource=profanity' >> $XMPP_CLIENT_ACCOUNTS
|
|
221
|
+ echo "muc.service=conference.${HOSTNAME}" >> $XMPP_CLIENT_ACCOUNTS
|
|
222
|
+ echo "muc.nick=${MY_USERNAME}" >> $XMPP_CLIENT_ACCOUNTS
|
|
223
|
+ echo 'presence.last=online' >> $XMPP_CLIENT_ACCOUNTS
|
|
224
|
+ echo 'presence.login=online' >> $XMPP_CLIENT_ACCOUNTS
|
|
225
|
+ echo 'priority.online=0' >> $XMPP_CLIENT_ACCOUNTS
|
|
226
|
+ echo 'priority.chat=0' >> $XMPP_CLIENT_ACCOUNTS
|
|
227
|
+ echo 'priority.away=0' >> $XMPP_CLIENT_ACCOUNTS
|
|
228
|
+ echo 'priority.xa=0' >> $XMPP_CLIENT_ACCOUNTS
|
|
229
|
+ echo 'priority.dnd=0' >> $XMPP_CLIENT_ACCOUNTS
|
|
230
|
+
|
|
231
|
+ echo '[connection]' > /home/$MY_USERNAME/.config/profanity/profrc
|
|
232
|
+ echo "account=${MY_USERNAME}@${HOSTNAME}" >> /home/$MY_USERNAME/.config/profanity/profrc
|
|
233
|
+
|
|
234
|
+ chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.local
|
|
235
|
+ chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.config
|
231
|
236
|
fi
|
232
|
237
|
|
233
|
238
|
if grep -q "Blog domain" $COMPLETION_FILE; then
|
234
|
|
- FULLBLOG_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Blog domain" | awk -F ':' '{print $2}')
|
235
|
|
- if [ ! -d /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users ]; then
|
236
|
|
- echo $'Blog users directory not found'
|
237
|
|
- if grep -q "install_xmpp" $COMPLETION_FILE; then
|
238
|
|
- ${PROJECT_NAME}-rmxmpp -e "$MY_USERNAME@$HOSTNAME"
|
239
|
|
- fi
|
240
|
|
- userdel -r $MY_USERNAME
|
241
|
|
- exit 9
|
242
|
|
- fi
|
243
|
|
- echo ';Password' > /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users/$MY_USERNAME.ini
|
244
|
|
- echo "password = '$NEW_USER_PASSWORD'" >> /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users/$MY_USERNAME.ini
|
245
|
|
- echo 'encryption = clear' >> /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users/$MY_USERNAME.ini
|
246
|
|
- echo ';Role' >> /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users/$MY_USERNAME.ini
|
247
|
|
- echo 'role = admin' >> /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users/$MY_USERNAME.ini
|
248
|
|
- echo "$MY_USERNAME added as a blog user"
|
|
239
|
+ FULLBLOG_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Blog domain" | awk -F ':' '{print $2}')
|
|
240
|
+ if [ ! -d /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users ]; then
|
|
241
|
+ echo $'Blog users directory not found'
|
|
242
|
+ if grep -q "install_xmpp" $COMPLETION_FILE; then
|
|
243
|
+ ${PROJECT_NAME}-rmxmpp -e "$MY_USERNAME@$HOSTNAME"
|
|
244
|
+ fi
|
|
245
|
+ userdel -r $MY_USERNAME
|
|
246
|
+ exit 9
|
|
247
|
+ fi
|
|
248
|
+ echo ';Password' > /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users/$MY_USERNAME.ini
|
|
249
|
+ echo "password = '$NEW_USER_PASSWORD'" >> /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users/$MY_USERNAME.ini
|
|
250
|
+ echo 'encryption = clear' >> /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users/$MY_USERNAME.ini
|
|
251
|
+ echo ';Role' >> /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users/$MY_USERNAME.ini
|
|
252
|
+ echo 'role = admin' >> /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users/$MY_USERNAME.ini
|
|
253
|
+ echo "$MY_USERNAME added as a blog user"
|
249
|
254
|
fi
|
250
|
255
|
|
251
|
256
|
if grep -q "install_sip" $COMPLETION_FILE; then
|
252
|
|
- SIP_EXTENSION=$(${PROJECT_NAME}-sipfreeext)
|
253
|
|
- ${PROJECT_NAME}-addsipuser -u $MY_USERNAME -e $SIP_EXTENSION -p "$NEW_USER_PASSWORD"
|
254
|
|
- if [ ! "$?" = "0" ]; then
|
255
|
|
- echo $'SIP user could not be added. Ensure that extension numbers are in order and do no exceed 299'
|
256
|
|
- if grep -q "install_xmpp" $COMPLETION_FILE; then
|
257
|
|
- ${PROJECT_NAME}-rmxmpp -e "$MY_USERNAME@$HOSTNAME"
|
258
|
|
- fi
|
259
|
|
- if grep -q "Blog domain" $COMPLETION_FILE; then
|
260
|
|
- if [ -f /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users/$MY_USERNAME.ini ]; then
|
261
|
|
- rm /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users/$MY_USERNAME.ini
|
262
|
|
- fi
|
263
|
|
- fi
|
264
|
|
- userdel -r $MY_USERNAME
|
265
|
|
- exit 10
|
266
|
|
- fi
|
|
257
|
+ SIP_EXTENSION=$(${PROJECT_NAME}-sipfreeext)
|
|
258
|
+ ${PROJECT_NAME}-addsipuser -u $MY_USERNAME -e $SIP_EXTENSION -p "$NEW_USER_PASSWORD"
|
|
259
|
+ if [ ! "$?" = "0" ]; then
|
|
260
|
+ echo $'SIP user could not be added. Ensure that extension numbers are in order and do no exceed 299'
|
|
261
|
+ if grep -q "install_xmpp" $COMPLETION_FILE; then
|
|
262
|
+ ${PROJECT_NAME}-rmxmpp -e "$MY_USERNAME@$HOSTNAME"
|
|
263
|
+ fi
|
|
264
|
+ if grep -q "Blog domain" $COMPLETION_FILE; then
|
|
265
|
+ if [ -f /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users/$MY_USERNAME.ini ]; then
|
|
266
|
+ rm /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users/$MY_USERNAME.ini
|
|
267
|
+ fi
|
|
268
|
+ fi
|
|
269
|
+ userdel -r $MY_USERNAME
|
|
270
|
+ exit 10
|
|
271
|
+ fi
|
267
|
272
|
fi
|
268
|
273
|
|
269
|
274
|
if grep -q "install_gnu_social" $COMPLETION_FILE; then
|
270
|
|
- MICROBLOG_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "GNU Social domain" | awk -F ':' '{print $2}')
|
271
|
|
- if [ -d /var/www/$MICROBLOG_DOMAIN_NAME ]; then
|
272
|
|
- cd /var/www/$MICROBLOG_DOMAIN_NAME/htdocs
|
273
|
|
- php scripts/registeruser.php -n $MY_USERNAME -w "$NEW_USER_PASSWORD" -e "$MY_USERNAME@$HOSTNAME"
|
274
|
|
- freedombone-addemail -u $MY_USERNAME -e "noreply@$MICROBLOG_DOMAIN_NAME" -g gnusocial --public no
|
275
|
|
- echo $'Created GNU Social user'
|
276
|
|
- else
|
277
|
|
- echo $"Unable to find GNU Social installation at /var/www/$MICROBLOG_DOMAIN_NAME/htdocs"
|
278
|
|
- userdel -r $MY_USERNAME
|
279
|
|
- exit 11
|
280
|
|
- fi
|
|
275
|
+ MICROBLOG_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "GNU Social domain" | awk -F ':' '{print $2}')
|
|
276
|
+ if [ -d /var/www/$MICROBLOG_DOMAIN_NAME ]; then
|
|
277
|
+ cd /var/www/$MICROBLOG_DOMAIN_NAME/htdocs
|
|
278
|
+ php scripts/registeruser.php -n $MY_USERNAME -w "$NEW_USER_PASSWORD" -e "$MY_USERNAME@$HOSTNAME"
|
|
279
|
+ freedombone-addemail -u $MY_USERNAME -e "noreply@$MICROBLOG_DOMAIN_NAME" -g gnusocial --public no
|
|
280
|
+ echo $'Created GNU Social user'
|
|
281
|
+ else
|
|
282
|
+ echo $"Unable to find GNU Social installation at /var/www/$MICROBLOG_DOMAIN_NAME/htdocs"
|
|
283
|
+ userdel -r $MY_USERNAME
|
|
284
|
+ exit 11
|
|
285
|
+ fi
|
281
|
286
|
fi
|
282
|
287
|
|
283
|
288
|
if grep -q "install_irc_client" $COMPLETION_FILE; then
|
284
|
|
- IRC_PORT=6697
|
285
|
|
- if grep -q "IRC_PORT" $CONFIGURATION_FILE; then
|
286
|
|
- IRC_PORT=$(grep "IRC_PORT" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
287
|
|
- fi
|
288
|
|
- IRC_PASSWORD=$(cat /etc/ngircd/ngircd.conf | grep "Password =" | head -n 1 | awk -F '=' '{print $2}')
|
289
|
|
- if [ ${#IRC_PASSWORD} -lt 2 ]; then
|
290
|
|
- IRC_PASSWORD=
|
291
|
|
- fi
|
292
|
|
-
|
293
|
|
- if [ ! -d /home/$MY_USERNAME/.irssi ]; then
|
294
|
|
- mkdir /home/$MY_USERNAME/.irssi
|
295
|
|
- fi
|
296
|
|
-
|
297
|
|
- echo 'servers = (' > /home/$MY_USERNAME/.irssi/config
|
298
|
|
- echo ' {' >> /home/$MY_USERNAME/.irssi/config
|
299
|
|
- echo ' address = "chat.freenode.net";' >> /home/$MY_USERNAME/.irssi/config
|
300
|
|
- echo ' chatnet = "Freenode";' >> /home/$MY_USERNAME/.irssi/config
|
301
|
|
- echo ' port = "6667";' >> /home/$MY_USERNAME/.irssi/config
|
302
|
|
- echo ' autoconnect = "no";' >> /home/$MY_USERNAME/.irssi/config
|
303
|
|
- echo ' },' >> /home/$MY_USERNAME/.irssi/config
|
304
|
|
- echo ' {' >> /home/$MY_USERNAME/.irssi/config
|
305
|
|
- echo ' address = "irc.oftc.net";' >> /home/$MY_USERNAME/.irssi/config
|
306
|
|
- echo ' chatnet = "OFTC";' >> /home/$MY_USERNAME/.irssi/config
|
307
|
|
- echo ' port = "6667";' >> /home/$MY_USERNAME/.irssi/config
|
308
|
|
- echo ' autoconnect = "yes";' >> /home/$MY_USERNAME/.irssi/config
|
309
|
|
- echo ' },' >> /home/$MY_USERNAME/.irssi/config
|
310
|
|
- echo ' {' >> /home/$MY_USERNAME/.irssi/config
|
311
|
|
- echo " address = \"${HOSTNAME}\";" >> /home/$MY_USERNAME/.irssi/config
|
312
|
|
- echo ' chatnet = "Freedombone";' >> /home/$MY_USERNAME/.irssi/config
|
313
|
|
- echo " port = \"${IRC_PORT}\";" >> /home/$MY_USERNAME/.irssi/config
|
314
|
|
- echo ' use_ssl = "yes";' >> /home/$MY_USERNAME/.irssi/config
|
315
|
|
- echo ' ssl_verify = "no";' >> /home/$MY_USERNAME/.irssi/config
|
316
|
|
- echo ' autoconnect = "yes";' >> /home/$MY_USERNAME/.irssi/config
|
317
|
|
-
|
318
|
|
- echo ' }' >> /home/$MY_USERNAME/.irssi/config
|
319
|
|
- echo ');' >> /home/$MY_USERNAME/.irssi/config
|
320
|
|
- echo '' >> /home/$MY_USERNAME/.irssi/config
|
321
|
|
- echo 'chatnets = {' >> /home/$MY_USERNAME/.irssi/config
|
322
|
|
- echo ' Freedombone = {' >> /home/$MY_USERNAME/.irssi/config
|
323
|
|
- echo ' type = "IRC";' >> /home/$MY_USERNAME/.irssi/config
|
324
|
|
- echo ' max_kicks = "1";' >> /home/$MY_USERNAME/.irssi/config
|
325
|
|
- echo ' max_msgs = "4";' >> /home/$MY_USERNAME/.irssi/config
|
326
|
|
- echo ' max_whois = "1";' >> /home/$MY_USERNAME/.irssi/config
|
327
|
|
- echo ' };' >> /home/$MY_USERNAME/.irssi/config
|
328
|
|
- echo ' Freenode = {' >> /home/$MY_USERNAME/.irssi/config
|
329
|
|
- echo ' type = "IRC";' >> /home/$MY_USERNAME/.irssi/config
|
330
|
|
- echo ' max_kicks = "1";' >> /home/$MY_USERNAME/.irssi/config
|
331
|
|
- echo ' max_msgs = "4";' >> /home/$MY_USERNAME/.irssi/config
|
332
|
|
- echo ' max_whois = "1";' >> /home/$MY_USERNAME/.irssi/config
|
333
|
|
- echo ' };' >> /home/$MY_USERNAME/.irssi/config
|
334
|
|
- echo ' OFTC = {' >> /home/$MY_USERNAME/.irssi/config
|
335
|
|
- echo ' type = "IRC";' >> /home/$MY_USERNAME/.irssi/config
|
336
|
|
- echo ' max_kicks = "1";' >> /home/$MY_USERNAME/.irssi/config
|
337
|
|
- echo ' max_msgs = "1";' >> /home/$MY_USERNAME/.irssi/config
|
338
|
|
- echo ' max_whois = "1";' >> /home/$MY_USERNAME/.irssi/config
|
339
|
|
- echo ' };' >> /home/$MY_USERNAME/.irssi/config
|
340
|
|
- echo '};' >> /home/$MY_USERNAME/.irssi/config
|
341
|
|
- echo '' >> /home/$MY_USERNAME/.irssi/config
|
342
|
|
- echo 'channels = (' >> /home/$MY_USERNAME/.irssi/config
|
343
|
|
- echo ' { name = "#freedombone"; chatnet = "Freedombone"; autojoin = "Yes"; },' >> /home/$MY_USERNAME/.irssi/config
|
344
|
|
- echo ');' >> /home/$MY_USERNAME/.irssi/config
|
345
|
|
- echo '' >> /home/$MY_USERNAME/.irssi/config
|
346
|
|
- echo 'settings = {' >> /home/$MY_USERNAME/.irssi/config
|
347
|
|
- echo " core = { real_name = \"$MY_NAME\"; user_name = \"$MY_USERNAME\"; nick = \"$MY_USERNAME\"; };" >> /home/$MY_USERNAME/.irssi/config
|
348
|
|
- echo ' "fe-text" = { actlist_sort = "refnum"; };' >> /home/$MY_USERNAME/.irssi/config
|
349
|
|
- echo '};' >> /home/$MY_USERNAME/.irssi/config
|
350
|
|
- echo 'ignores = ( { level = "CTCPS"; } );' >> /home/$MY_USERNAME/.irssi/config
|
351
|
|
-
|
352
|
|
- chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.irssi
|
|
289
|
+ IRC_PORT=6697
|
|
290
|
+ if grep -q "IRC_PORT" $CONFIGURATION_FILE; then
|
|
291
|
+ IRC_PORT=$(grep "IRC_PORT" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
|
292
|
+ fi
|
|
293
|
+ IRC_PASSWORD=$(cat /etc/ngircd/ngircd.conf | grep "Password =" | head -n 1 | awk -F '=' '{print $2}')
|
|
294
|
+ if [ ${#IRC_PASSWORD} -lt 2 ]; then
|
|
295
|
+ IRC_PASSWORD=
|
|
296
|
+ fi
|
|
297
|
+
|
|
298
|
+ if [ ! -d /home/$MY_USERNAME/.irssi ]; then
|
|
299
|
+ mkdir /home/$MY_USERNAME/.irssi
|
|
300
|
+ fi
|
|
301
|
+
|
|
302
|
+ echo 'servers = (' > /home/$MY_USERNAME/.irssi/config
|
|
303
|
+ echo ' {' >> /home/$MY_USERNAME/.irssi/config
|
|
304
|
+ echo ' address = "chat.freenode.net";' >> /home/$MY_USERNAME/.irssi/config
|
|
305
|
+ echo ' chatnet = "Freenode";' >> /home/$MY_USERNAME/.irssi/config
|
|
306
|
+ echo ' port = "6667";' >> /home/$MY_USERNAME/.irssi/config
|
|
307
|
+ echo ' autoconnect = "no";' >> /home/$MY_USERNAME/.irssi/config
|
|
308
|
+ echo ' },' >> /home/$MY_USERNAME/.irssi/config
|
|
309
|
+ echo ' {' >> /home/$MY_USERNAME/.irssi/config
|
|
310
|
+ echo ' address = "irc.oftc.net";' >> /home/$MY_USERNAME/.irssi/config
|
|
311
|
+ echo ' chatnet = "OFTC";' >> /home/$MY_USERNAME/.irssi/config
|
|
312
|
+ echo ' port = "6667";' >> /home/$MY_USERNAME/.irssi/config
|
|
313
|
+ echo ' autoconnect = "yes";' >> /home/$MY_USERNAME/.irssi/config
|
|
314
|
+ echo ' },' >> /home/$MY_USERNAME/.irssi/config
|
|
315
|
+ echo ' {' >> /home/$MY_USERNAME/.irssi/config
|
|
316
|
+ echo " address = \"${HOSTNAME}\";" >> /home/$MY_USERNAME/.irssi/config
|
|
317
|
+ echo ' chatnet = "Freedombone";' >> /home/$MY_USERNAME/.irssi/config
|
|
318
|
+ echo " port = \"${IRC_PORT}\";" >> /home/$MY_USERNAME/.irssi/config
|
|
319
|
+ echo ' use_ssl = "yes";' >> /home/$MY_USERNAME/.irssi/config
|
|
320
|
+ echo ' ssl_verify = "no";' >> /home/$MY_USERNAME/.irssi/config
|
|
321
|
+ echo ' autoconnect = "yes";' >> /home/$MY_USERNAME/.irssi/config
|
|
322
|
+
|
|
323
|
+ echo ' }' >> /home/$MY_USERNAME/.irssi/config
|
|
324
|
+ echo ');' >> /home/$MY_USERNAME/.irssi/config
|
|
325
|
+ echo '' >> /home/$MY_USERNAME/.irssi/config
|
|
326
|
+ echo 'chatnets = {' >> /home/$MY_USERNAME/.irssi/config
|
|
327
|
+ echo ' Freedombone = {' >> /home/$MY_USERNAME/.irssi/config
|
|
328
|
+ echo ' type = "IRC";' >> /home/$MY_USERNAME/.irssi/config
|
|
329
|
+ echo ' max_kicks = "1";' >> /home/$MY_USERNAME/.irssi/config
|
|
330
|
+ echo ' max_msgs = "4";' >> /home/$MY_USERNAME/.irssi/config
|
|
331
|
+ echo ' max_whois = "1";' >> /home/$MY_USERNAME/.irssi/config
|
|
332
|
+ echo ' };' >> /home/$MY_USERNAME/.irssi/config
|
|
333
|
+ echo ' Freenode = {' >> /home/$MY_USERNAME/.irssi/config
|
|
334
|
+ echo ' type = "IRC";' >> /home/$MY_USERNAME/.irssi/config
|
|
335
|
+ echo ' max_kicks = "1";' >> /home/$MY_USERNAME/.irssi/config
|
|
336
|
+ echo ' max_msgs = "4";' >> /home/$MY_USERNAME/.irssi/config
|
|
337
|
+ echo ' max_whois = "1";' >> /home/$MY_USERNAME/.irssi/config
|
|
338
|
+ echo ' };' >> /home/$MY_USERNAME/.irssi/config
|
|
339
|
+ echo ' OFTC = {' >> /home/$MY_USERNAME/.irssi/config
|
|
340
|
+ echo ' type = "IRC";' >> /home/$MY_USERNAME/.irssi/config
|
|
341
|
+ echo ' max_kicks = "1";' >> /home/$MY_USERNAME/.irssi/config
|
|
342
|
+ echo ' max_msgs = "1";' >> /home/$MY_USERNAME/.irssi/config
|
|
343
|
+ echo ' max_whois = "1";' >> /home/$MY_USERNAME/.irssi/config
|
|
344
|
+ echo ' };' >> /home/$MY_USERNAME/.irssi/config
|
|
345
|
+ echo '};' >> /home/$MY_USERNAME/.irssi/config
|
|
346
|
+ echo '' >> /home/$MY_USERNAME/.irssi/config
|
|
347
|
+ echo 'channels = (' >> /home/$MY_USERNAME/.irssi/config
|
|
348
|
+ echo ' { name = "#freedombone"; chatnet = "Freedombone"; autojoin = "Yes"; },' >> /home/$MY_USERNAME/.irssi/config
|
|
349
|
+ echo ');' >> /home/$MY_USERNAME/.irssi/config
|
|
350
|
+ echo '' >> /home/$MY_USERNAME/.irssi/config
|
|
351
|
+ echo 'settings = {' >> /home/$MY_USERNAME/.irssi/config
|
|
352
|
+ echo " core = { real_name = \"$MY_NAME\"; user_name = \"$MY_USERNAME\"; nick = \"$MY_USERNAME\"; };" >> /home/$MY_USERNAME/.irssi/config
|
|
353
|
+ echo ' "fe-text" = { actlist_sort = "refnum"; };' >> /home/$MY_USERNAME/.irssi/config
|
|
354
|
+ echo '};' >> /home/$MY_USERNAME/.irssi/config
|
|
355
|
+ echo 'ignores = ( { level = "CTCPS"; } );' >> /home/$MY_USERNAME/.irssi/config
|
|
356
|
+
|
|
357
|
+ chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.irssi
|
353
|
358
|
fi
|
354
|
359
|
|
355
|
360
|
if [ -f /etc/nginx/.htpasswd ]; then
|
356
|
|
- if ! grep "${MY_USERNAME}:" /etc/nginx/.htpasswd; then
|
357
|
|
- echo "$NEW_USER_PASSWORD" | htpasswd -i -s /etc/nginx/.htpasswd $MY_USERNAME
|
358
|
|
- fi
|
|
361
|
+ if ! grep "${MY_USERNAME}:" /etc/nginx/.htpasswd; then
|
|
362
|
+ echo "$NEW_USER_PASSWORD" | htpasswd -i -s /etc/nginx/.htpasswd $MY_USERNAME
|
|
363
|
+ fi
|
359
|
364
|
fi
|
360
|
365
|
|
361
|
366
|
# add user to the sipwitch group
|
362
|
367
|
if [ -f /etc/sipwitch.conf ]; then
|
363
|
|
- usermod -aG sipwitch $MY_USERNAME
|
|
368
|
+ usermod -aG sipwitch $MY_USERNAME
|
364
|
369
|
fi
|
365
|
370
|
|
366
|
371
|
# add user for SIP STUN/TURN
|
367
|
372
|
if [ -d /etc/turnserver ]; then
|
368
|
|
- if grep -q "DEFAULT_DOMAIN_NAME" $CONFIGURATION_FILE; then
|
369
|
|
- DEFAULT_DOMAIN_NAME=$(grep "DEFAULT_DOMAIN_NAME" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
370
|
|
- echo "${MY_USERNAME}:${NEW_USER_PASSWORD}:${DEFAULT_DOMAIN_NAME}:authorized" >> /etc/turnserver/turnusers.txt
|
371
|
|
- fi
|
|
373
|
+ if grep -q "DEFAULT_DOMAIN_NAME" $CONFIGURATION_FILE; then
|
|
374
|
+ DEFAULT_DOMAIN_NAME=$(grep "DEFAULT_DOMAIN_NAME" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
|
375
|
+ echo "${MY_USERNAME}:${NEW_USER_PASSWORD}:${DEFAULT_DOMAIN_NAME}:authorized" >> /etc/turnserver/turnusers.txt
|
|
376
|
+ fi
|
372
|
377
|
fi
|
373
|
378
|
|
374
|
379
|
# add user menu on ssh login
|
375
|
380
|
if ! grep -q 'control' /home/$MY_USERNAME/.bashrc; then
|
376
|
|
- echo 'control' >> /home/$MY_USERNAME/.bashrc
|
|
381
|
+ echo 'control' >> /home/$MY_USERNAME/.bashrc
|
377
|
382
|
fi
|
378
|
383
|
|
379
|
384
|
clear
|
380
|
385
|
echo $"New user $MY_USERNAME was created"
|
381
|
386
|
if [ $SIP_EXTENSION ]; then
|
382
|
|
- echo $"Their SIP phone extension is $SIP_EXTENSION"
|
|
387
|
+ echo $"Their SIP phone extension is $SIP_EXTENSION"
|
383
|
388
|
fi
|
384
|
389
|
echo $"Their login password is $NEW_USER_PASSWORD"
|
385
|
390
|
echo ''
|