瀏覽代碼

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,6 +1236,15 @@ function mark_admin_user_account {
1236 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 1248
 function randomize_cron {
1240 1249
   # The predictable default timing of Debian cron jobs might
1241 1250
   # be exploitable knowledge. Avoid too much predictability
@@ -10925,6 +10934,7 @@ configure_firewall_for_irc
10925 10934
 install_voip
10926 10935
 install_wiki
10927 10936
 install_blog
10937
+mark_blog_domain
10928 10938
 install_gnu_social
10929 10939
 install_hubzilla
10930 10940
 install_dlna_server

+ 26
- 4
src/freedombone-adduser 查看文件

@@ -2,6 +2,7 @@
2 2
 MY_USERNAME=$1
3 3
 GPG_KEYSERVER='hkp://keys.gnupg.net'
4 4
 SSH_PORT=2222
5
+COMPLETION_FILE=$HOME/freedombone-completed.txt
5 6
 
6 7
 if [ ! $MY_USERNAME ]; then
7 8
     echo 'No username was given'
@@ -13,19 +14,25 @@ if [ -d /home/$MY_USERNAME ]; then
13 14
     exit 2
14 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 23
 NEW_USER_PASSWORD="$(openssl rand -base64 10 | cut -c1-8)"
17 24
 useradd -m -p "$NEW_USER_PASSWORD" -s /bin/bash $MY_USERNAME
18 25
 adduser $MY_USERNAME sasl
19 26
 
20 27
 if [ ! -d /home/$MY_USERNAME ]; then
21 28
     echo 'Home directory was not created'
22
-    exit 3
29
+    exit 4
23 30
 fi
24 31
 
25 32
 if [ ! -d /home/$MY_USERNAME/Maildir ]; then
26 33
     echo 'Email directory was not created'
27 34
     userdel -r $MY_USERNAME
28
-    exit 4
35
+    exit 5
29 36
 fi
30 37
 
31 38
 if grep -q "set from=" /home/$MY_USERNAME/.muttrc; then
@@ -69,7 +76,7 @@ su -c "gpg --output $MY_GPG_PUBLIC_KEY --armor --export $MY_GPG_PUBLIC_KEY_ID" -
69 76
 if [ ! -f $MY_GPG_PUBLIC_KEY ]; then
70 77
     echo "GPG public key was not generated for $MY_USERNAME@$HOSTNAME $MY_GPG_PUBLIC_KEY_ID"
71 78
     userdel -r $MY_USERNAME
72
-    exit 5
79
+    exit 6
73 80
 fi
74 81
 
75 82
 # encrypt outgoing mail to the "sent" folder
@@ -123,7 +130,22 @@ freedombone-addxmpp -e "$MY_USERNAME@$HOSTNAME" -p "$NEW_USER_PASSWORD"
123 130
 if [ ! "$?" = "0" ]; then
124 131
     echo "XMPP account not created"
125 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 149
 fi
128 150
 
129 151
 clear

+ 8
- 1
src/freedombone-rmuser 查看文件

@@ -1,6 +1,7 @@
1 1
 #!/bin/bash
2 2
 
3 3
 MY_USERNAME=$1
4
+COMPLETION_FILE=$HOME/freedombone-completed.txt
4 5
 
5 6
 if [ ! $MY_USERNAME ]; then
6 7
     echo 'Please specify a username to remove'
@@ -12,7 +13,6 @@ if [ ! -d /home/$MY_USERNAME ]; then
12 13
     exit 2
13 14
 fi
14 15
 
15
-COMPLETION_FILE=$HOME/freedombone-completed.txt
16 16
 if [ ! -f $COMPLETION_FILE ]; then
17 17
     echo "$COMPLETION_FILE not found"
18 18
     exit 3
@@ -43,6 +43,13 @@ fi
43 43
 
44 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 53
 userdel -r $MY_USERNAME
47 54
 
48 55
 if [ -d /home/$MY_USERNAME ]; then