Преглед на файлове

Adding and removing blog users

Bob Mottram преди 9 години
родител
ревизия
e814591808
променени са 3 файла, в които са добавени 44 реда и са изтрити 5 реда
  1. 10
    0
      src/freedombone
  2. 26
    4
      src/freedombone-adduser
  3. 8
    1
      src/freedombone-rmuser

+ 10
- 0
src/freedombone Целия файл

1236
   fi
1236
   fi
1237
 }
1237
 }
1238
 
1238
 
1239
+function mark_blog_domain {
1240
+  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
1241
+      return
1242
+  fi
1243
+  if ! grep -q "Blog domain:" $COMPLETION_FILE; then
1244
+      echo "Blog domain:$FULLBLOG_DOMAIN_NAME" >> $COMPLETION_FILE
1245
+  fi
1246
+}
1247
+
1239
 function randomize_cron {
1248
 function randomize_cron {
1240
   # The predictable default timing of Debian cron jobs might
1249
   # The predictable default timing of Debian cron jobs might
1241
   # be exploitable knowledge. Avoid too much predictability
1250
   # be exploitable knowledge. Avoid too much predictability
10925
 install_voip
10934
 install_voip
10926
 install_wiki
10935
 install_wiki
10927
 install_blog
10936
 install_blog
10937
+mark_blog_domain
10928
 install_gnu_social
10938
 install_gnu_social
10929
 install_hubzilla
10939
 install_hubzilla
10930
 install_dlna_server
10940
 install_dlna_server

+ 26
- 4
src/freedombone-adduser Целия файл

2
 MY_USERNAME=$1
2
 MY_USERNAME=$1
3
 GPG_KEYSERVER='hkp://keys.gnupg.net'
3
 GPG_KEYSERVER='hkp://keys.gnupg.net'
4
 SSH_PORT=2222
4
 SSH_PORT=2222
5
+COMPLETION_FILE=$HOME/freedombone-completed.txt
5
 
6
 
6
 if [ ! $MY_USERNAME ]; then
7
 if [ ! $MY_USERNAME ]; then
7
     echo 'No username was given'
8
     echo 'No username was given'
13
     exit 2
14
     exit 2
14
 fi
15
 fi
15
 
16
 
17
+if [ ! -f $COMPLETION_FILE ]; then
18
+    echo "$COMPLETION_FILE not found"
19
+    userdel -r $MY_USERNAME
20
+    exit 3
21
+fi
22
+
16
 NEW_USER_PASSWORD="$(openssl rand -base64 10 | cut -c1-8)"
23
 NEW_USER_PASSWORD="$(openssl rand -base64 10 | cut -c1-8)"
17
 useradd -m -p "$NEW_USER_PASSWORD" -s /bin/bash $MY_USERNAME
24
 useradd -m -p "$NEW_USER_PASSWORD" -s /bin/bash $MY_USERNAME
18
 adduser $MY_USERNAME sasl
25
 adduser $MY_USERNAME sasl
19
 
26
 
20
 if [ ! -d /home/$MY_USERNAME ]; then
27
 if [ ! -d /home/$MY_USERNAME ]; then
21
     echo 'Home directory was not created'
28
     echo 'Home directory was not created'
22
-    exit 3
29
+    exit 4
23
 fi
30
 fi
24
 
31
 
25
 if [ ! -d /home/$MY_USERNAME/Maildir ]; then
32
 if [ ! -d /home/$MY_USERNAME/Maildir ]; then
26
     echo 'Email directory was not created'
33
     echo 'Email directory was not created'
27
     userdel -r $MY_USERNAME
34
     userdel -r $MY_USERNAME
28
-    exit 4
35
+    exit 5
29
 fi
36
 fi
30
 
37
 
31
 if grep -q "set from=" /home/$MY_USERNAME/.muttrc; then
38
 if grep -q "set from=" /home/$MY_USERNAME/.muttrc; then
69
 if [ ! -f $MY_GPG_PUBLIC_KEY ]; then
76
 if [ ! -f $MY_GPG_PUBLIC_KEY ]; then
70
     echo "GPG public key was not generated for $MY_USERNAME@$HOSTNAME $MY_GPG_PUBLIC_KEY_ID"
77
     echo "GPG public key was not generated for $MY_USERNAME@$HOSTNAME $MY_GPG_PUBLIC_KEY_ID"
71
     userdel -r $MY_USERNAME
78
     userdel -r $MY_USERNAME
72
-    exit 5
79
+    exit 6
73
 fi
80
 fi
74
 
81
 
75
 # encrypt outgoing mail to the "sent" folder
82
 # encrypt outgoing mail to the "sent" folder
123
 if [ ! "$?" = "0" ]; then
130
 if [ ! "$?" = "0" ]; then
124
     echo "XMPP account not created"
131
     echo "XMPP account not created"
125
     userdel -r $MY_USERNAME
132
     userdel -r $MY_USERNAME
126
-    exit 6
133
+    exit 7
134
+fi
135
+
136
+if grep -q "Blog domain" $COMPLETION_FILE; then
137
+    FULLBLOG_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Blog domain" | awk -F ':' '{print $2}')
138
+    if [ ! -d /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users ]; then
139
+        echo 'Blog users directory not found'
140
+        userdel -r $MY_USERNAME
141
+        exit 8     
142
+    fi
143
+    echo ';Password' > /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users/$MY_USERNAME.ini
144
+    echo "password = '$NEW_USER_PASSWORD'" >> /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users/$MY_USERNAME.ini
145
+    echo 'encryption = clear' >> /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users/$MY_USERNAME.ini
146
+    echo ';Role' >> /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users/$MY_USERNAME.ini
147
+    echo 'role = admin' >> /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users/$MY_USERNAME.ini
148
+    echo "$MY_USERNAME added as a blog user"
127
 fi
149
 fi
128
 
150
 
129
 clear
151
 clear

+ 8
- 1
src/freedombone-rmuser Целия файл

1
 #!/bin/bash
1
 #!/bin/bash
2
 
2
 
3
 MY_USERNAME=$1
3
 MY_USERNAME=$1
4
+COMPLETION_FILE=$HOME/freedombone-completed.txt
4
 
5
 
5
 if [ ! $MY_USERNAME ]; then
6
 if [ ! $MY_USERNAME ]; then
6
     echo 'Please specify a username to remove'
7
     echo 'Please specify a username to remove'
12
     exit 2
13
     exit 2
13
 fi
14
 fi
14
 
15
 
15
-COMPLETION_FILE=$HOME/freedombone-completed.txt
16
 if [ ! -f $COMPLETION_FILE ]; then
16
 if [ ! -f $COMPLETION_FILE ]; then
17
     echo "$COMPLETION_FILE not found"
17
     echo "$COMPLETION_FILE not found"
18
     exit 3
18
     exit 3
43
 
43
 
44
 freedombone-rmxmpp -e "$MY_USERNAME@$HOSTNAME"
44
 freedombone-rmxmpp -e "$MY_USERNAME@$HOSTNAME"
45
 
45
 
46
+if grep -q "Blog domain" $COMPLETION_FILE; then
47
+    FULLBLOG_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Blog domain" | awk -F ':' '{print $2}')
48
+    if [ -f /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users/$MY_USERNAME.ini ]; then
49
+        rm /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users/$MY_USERNAME.ini
50
+    fi
51
+fi
52
+
46
 userdel -r $MY_USERNAME
53
 userdel -r $MY_USERNAME
47
 
54
 
48
 if [ -d /home/$MY_USERNAME ]; then
55
 if [ -d /home/$MY_USERNAME ]; then