ソースを参照

Removing a user from apps

Bob Mottram 8 年 前
コミット
f4f50eaf02
共有7 個のファイルを変更した79 個の追加57 個の削除を含む
  1. 10
    1
      src/freedombone-app-blog
  2. 10
    5
      src/freedombone-app-gnusocial
  3. 10
    4
      src/freedombone-app-irc
  4. 10
    5
      src/freedombone-app-sip
  5. 12
    0
      src/freedombone-app-tox
  6. 6
    6
      src/freedombone-app-xmpp
  7. 21
    36
      src/freedombone-rmuser

+ 10
- 1
src/freedombone-app-blog ファイルの表示

38
 MY_BLOG_TITLE="My Blog"
38
 MY_BLOG_TITLE="My Blog"
39
 MY_BLOG_SUBTITLE="Another ${PROJECT_NAME} Blog"
39
 MY_BLOG_SUBTITLE="Another ${PROJECT_NAME} Blog"
40
 
40
 
41
+function remove_user_blog {
42
+    remove_username="$1"
43
+
44
+    FULLBLOG_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "blog domain" | head -n 1 | awk -F ':' '{print $2}')
45
+    if [ -f /var/www/${FULLBLOG_DOMAIN_NAME}/htdocs/config/users/${remove_username}.ini ]; then
46
+        rm /var/www/${FULLBLOG_DOMAIN_NAME}/htdocs/config/users/${remove_username}.ini
47
+    fi
48
+}
49
+
41
 function add_user_blog {
50
 function add_user_blog {
42
     if [[ $(app_is_installed blog) == "0" ]]; then
51
     if [[ $(app_is_installed blog) == "0" ]]; then
43
-        echo '1'
52
+        echo '0'
44
         return
53
         return
45
     fi
54
     fi
46
 
55
 

+ 10
- 5
src/freedombone-app-gnusocial ファイルの表示

56
 # script which causes old posts to expire
56
 # script which causes old posts to expire
57
 gnusocial_expire_script=/usr/bin/gnusocial-expire
57
 gnusocial_expire_script=/usr/bin/gnusocial-expire
58
 
58
 
59
-function add_user_gnusocial {
60
-    if [[ $(app_is_installed gnusocial) == "0" ]]; then
61
-        echo '1'
62
-        return
59
+function remove_user_gnusocial {
60
+    remove_username="$1"
61
+
62
+    MICROBLOG_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "gnusocial domain" | head -n 1 | awk -F ':' '{print $2}')
63
+    if [ -d /var/www/$MICROBLOG_DOMAIN_NAME ]; then
64
+        cd /var/www/$MICROBLOG_DOMAIN_NAME/htdocs
65
+        php scripts/deleteprofile.php -n $remove_username -y
63
     fi
66
     fi
67
+}
64
 
68
 
69
+function add_user_gnusocial {
65
     new_username="$1"
70
     new_username="$1"
66
     new_user_password="$2"
71
     new_user_password="$2"
67
 
72
 
72
         ${PROJECT_NAME}-addemail -u $new_username -e "noreply@$MICROBLOG_DOMAIN_NAME" -g gnusocial --public no
77
         ${PROJECT_NAME}-addemail -u $new_username -e "noreply@$MICROBLOG_DOMAIN_NAME" -g gnusocial --public no
73
         echo '0'
78
         echo '0'
74
     else
79
     else
75
-        echo '2'
80
+        echo '1'
76
     fi
81
     fi
77
 }
82
 }
78
 
83
 

+ 10
- 4
src/freedombone-app-irc ファイルの表示

36
 # An optional password to log into IRC. This applies to all users
36
 # An optional password to log into IRC. This applies to all users
37
 IRC_PASSWORD=
37
 IRC_PASSWORD=
38
 
38
 
39
-function add_user_irc {
40
-    if [[ $(app_is_installed irc) == "0" ]]; then
41
-        echo '1'
42
-        return
39
+function remove_user_irc {
40
+    remove_username="$1"
41
+
42
+    if [ -d /home/$remove_username/.irssi ]; then
43
+        rm -rf /home/$remove_username/.irssi
43
     fi
44
     fi
45
+    if [ -d /home/$remove_username/irclogs ]; then
46
+        rm -rf /home/$remove_username/irclogs
47
+    fi
48
+}
44
 
49
 
50
+function add_user_irc {
45
     new_username="$1"
51
     new_username="$1"
46
     new_user_password="$2"
52
     new_user_password="$2"
47
 
53
 

+ 10
- 5
src/freedombone-app-sip ファイルの表示

37
 TURN_TLS_PORT=5349
37
 TURN_TLS_PORT=5349
38
 TURN_NONCE=
38
 TURN_NONCE=
39
 
39
 
40
-function add_user_sip {
41
-    if [[ $(app_is_installed sip) == "0" ]]; then
42
-        echo '1'
43
-        return
40
+function remove_user_sip {
41
+    remove_username="$1"
42
+    ${PROJECT_NAME}-rmsipuser ${remove_username}
43
+
44
+    # remove user from SIP TURN/STUN
45
+    if [ -f /etc/turnserver/turnusers.txt ]; then
46
+        sed -i "/${remove_username}:/d" /etc/turnserver/turnusers.txt
44
     fi
47
     fi
48
+}
45
 
49
 
50
+function add_user_sip {
46
     new_username="$1"
51
     new_username="$1"
47
     new_user_password="$2"
52
     new_user_password="$2"
48
 
53
 
49
     SIP_EXTENSION=$(${PROJECT_NAME}-sipfreeext)
54
     SIP_EXTENSION=$(${PROJECT_NAME}-sipfreeext)
50
     ${PROJECT_NAME}-addsipuser -u $new_username -e $SIP_EXTENSION -p "$new_user_password"
55
     ${PROJECT_NAME}-addsipuser -u $new_username -e $SIP_EXTENSION -p "$new_user_password"
51
     if [ ! "$?" = "0" ]; then
56
     if [ ! "$?" = "0" ]; then
52
-        echo '2'
57
+        echo '1'
53
         return
58
         return
54
     fi
59
     fi
55
 
60
 

+ 12
- 0
src/freedombone-app-tox ファイルの表示

49
 QTOX_REPO="https://github.com/bashrc/qTox"
49
 QTOX_REPO="https://github.com/bashrc/qTox"
50
 QTOX_COMMIT='27a628a3789fca4f31516c3982e580052dd3c773'
50
 QTOX_COMMIT='27a628a3789fca4f31516c3982e580052dd3c773'
51
 
51
 
52
+function remove_user_tox {
53
+    remove_username="$1"
54
+
55
+    if [ -d /home/$remove_username/.config/tox ]; then
56
+        if [ -d /home/$remove_username/.config/tox/chatlogs ]; then
57
+            shred -zu /home/$remove_username/.config/tox/chatlogs/*
58
+            rm -rf /home/$remove_username/.config/tox/chatlogs
59
+        fi
60
+        shred -zu /home/$remove_username/.config/tox/*
61
+    fi
62
+}
63
+
52
 function run_client_tox {
64
 function run_client_tox {
53
     # create a tox user
65
     # create a tox user
54
     USER_TOX_FILE=/home/${USER}/.config/tox/data.tox
66
     USER_TOX_FILE=/home/${USER}/.config/tox/data.tox

+ 6
- 6
src/freedombone-app-xmpp ファイルの表示

37
 XMPP_CIPHERS='"EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA256:EECDH:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!IDEA:!ECDSA:kEDH:CAMELLIA128-SHA:AES128-SHA"'
37
 XMPP_CIPHERS='"EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA256:EECDH:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!IDEA:!ECDSA:kEDH:CAMELLIA128-SHA:AES128-SHA"'
38
 XMPP_ECC_CURVE='"secp384r1"'
38
 XMPP_ECC_CURVE='"secp384r1"'
39
 
39
 
40
-function add_user_xmpp {
41
-    if [[ $(app_is_installed xmpp) == "0" ]]; then
42
-        echo '1'
43
-        return
44
-    fi
40
+function remove_user_xmpp {
41
+    remove_username="$1"
42
+    ${PROJECT_NAME}-rmxmpp -e "${remove_username}@$HOSTNAME"
43
+}
45
 
44
 
45
+function add_user_xmpp {
46
     new_username="$1"
46
     new_username="$1"
47
     new_user_password="$2"
47
     new_user_password="$2"
48
 
48
 
49
     ${PROJECT_NAME}-addxmpp -e "$new_username@$HOSTNAME" -p "$new_user_password"
49
     ${PROJECT_NAME}-addxmpp -e "$new_username@$HOSTNAME" -p "$new_user_password"
50
     if [ ! "$?" = "0" ]; then
50
     if [ ! "$?" = "0" ]; then
51
-        echo '2'
51
+        echo '1'
52
         return
52
         return
53
     fi
53
     fi
54
 
54
 

+ 21
- 36
src/freedombone-rmuser ファイルの表示

37
 MY_USERNAME=$1
37
 MY_USERNAME=$1
38
 COMPLETION_FILE=$HOME/${PROJECT_NAME}-completed.txt
38
 COMPLETION_FILE=$HOME/${PROJECT_NAME}-completed.txt
39
 
39
 
40
+UTILS_FILES=/usr/share/${PROJECT_NAME}/utils/${PROJECT_NAME}-utils-*
41
+for f in $UTILS_FILES
42
+do
43
+  source $f
44
+done
45
+
46
+APP_FILES=/usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-*
47
+for f in $APP_FILES
48
+do
49
+  source $f
50
+done
51
+
40
 if [ ! $MY_USERNAME ]; then
52
 if [ ! $MY_USERNAME ]; then
41
     echo $'Please specify a username to remove'
53
     echo $'Please specify a username to remove'
42
     exit 1
54
     exit 1
80
     exit 8
92
     exit 8
81
 fi
93
 fi
82
 
94
 
83
-if grep -q "install_xmpp" $COMPLETION_FILE; then
84
-    ${PROJECT_NAME}-rmxmpp -e "$MY_USERNAME@$HOSTNAME"
85
-fi
86
-
87
-if grep -q "Blog domain" $COMPLETION_FILE; then
88
-    FULLBLOG_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Blog domain" | awk -F ':' '{print $2}')
89
-    if [ -f /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users/$MY_USERNAME.ini ]; then
90
-        rm /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users/$MY_USERNAME.ini
91
-    fi
92
-fi
93
-
94
-if grep -q "install_sip" $COMPLETION_FILE; then
95
-    ${PROJECT_NAME}-rmsipuser $MY_USERNAME
96
-fi
97
-
98
-if grep -q "gnusocial domain" $COMPLETION_FILE; then
99
-    MICROBLOG_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "gnusocial domain" | awk -F ':' '{print $2}')
100
-    if [ -d /var/www/$MICROBLOG_DOMAIN_NAME ]; then
101
-        cd /var/www/$MICROBLOG_DOMAIN_NAME/htdocs
102
-        php scripts/deleteprofile.php -n $MY_USERNAME -y
103
-        echo $'Removed gnusocial user'
104
-    fi
105
-fi
106
-
107
 if [ -f /etc/nginx/.htpasswd ]; then
95
 if [ -f /etc/nginx/.htpasswd ]; then
108
     if grep "${MY_USERNAME}:" /etc/nginx/.htpasswd; then
96
     if grep "${MY_USERNAME}:" /etc/nginx/.htpasswd; then
109
         htpasswd -D /etc/nginx/.htpasswd $MY_USERNAME
97
         htpasswd -D /etc/nginx/.htpasswd $MY_USERNAME
110
     fi
98
     fi
111
 fi
99
 fi
112
 
100
 
113
-# remove user from SIP TURN/STUN
114
-if [ -d /etc/turnserver ]; then
115
-    sed -i "/${MY_USERNAME}:/d" /etc/turnserver/turnusers.txt
116
-fi
117
-
118
 # remove gpg keys
101
 # remove gpg keys
119
 if [ -d /home/$MY_USERNAME/.gnupg ]; then
102
 if [ -d /home/$MY_USERNAME/.gnupg ]; then
120
     shred -zu /home/$MY_USERNAME/.gnupg/*
103
     shred -zu /home/$MY_USERNAME/.gnupg/*
125
     shred -zu /home/$MY_USERNAME/.ssh/*
108
     shred -zu /home/$MY_USERNAME/.ssh/*
126
 fi
109
 fi
127
 
110
 
128
-# remove tox indentity
129
-if [ -d /home/$MY_USERNAME/.config/tox ]; then
130
-    if [ -d /home/$MY_USERNAME/.config/tox/chatlogs ]; then
131
-        shred -zu /home/$MY_USERNAME/.config/tox/chatlogs/*
132
-        rm -rf /home/$MY_USERNAME/.config/tox/chatlogs
111
+echo $'Detecting installed apps...'
112
+detect_apps
113
+get_apps_installed_names
114
+for app_name in "${APPS_INSTALLED_NAMES[@]}"
115
+do
116
+    if [[ $(function_exists remove_user_${app_name}) == "1" ]]; then
117
+        echo $"Removing user from ${app_name}"
118
+        remove_user_${app_name} "$MY_USERNAME"
133
     fi
119
     fi
134
-    shred -zu /home/$MY_USERNAME/.config/tox/*
135
-fi
120
+done
136
 
121
 
137
 userdel -r $MY_USERNAME
122
 userdel -r $MY_USERNAME
138
 
123