Parcourir la source

Remove keys in a safer way

Bob Mottram il y a 9 ans
Parent
révision
7ca018673b
1 fichiers modifiés avec 43 ajouts et 33 suppressions
  1. 43
    33
      src/freedombone-rmuser

+ 43
- 33
src/freedombone-rmuser Voir le fichier

@@ -38,87 +38,97 @@ MY_USERNAME=$1
38 38
 COMPLETION_FILE=$HOME/${PROJECT_NAME}-completed.txt
39 39
 
40 40
 if [ ! $MY_USERNAME ]; then
41
-    echo $'Please specify a username to remove'
42
-    exit 1
41
+	echo $'Please specify a username to remove'
42
+	exit 1
43 43
 fi
44 44
 
45 45
 if [[ $MY_USERNAME == 'git' || $MY_USERNAME == 'mirrors' ]]; then
46
-    echo $'Cannot remove reserved users'
47
-    exit 2
46
+	echo $'Cannot remove reserved users'
47
+	exit 2
48 48
 fi
49 49
 
50 50
 if [ ! -d /home/$MY_USERNAME ]; then
51
-    echo $"Home directory does not exist for $MY_USERNAME"
52
-    exit 3
51
+	echo $"Home directory does not exist for $MY_USERNAME"
52
+	exit 3
53 53
 fi
54 54
 
55 55
 if [ ! -f $COMPLETION_FILE ]; then
56
-    echo $"$COMPLETION_FILE not found"
57
-    exit 4
56
+	echo $"$COMPLETION_FILE not found"
57
+	exit 4
58 58
 fi
59 59
 
60 60
 if ! grep -q "Admin user" $COMPLETION_FILE; then
61
-    echo $"No admin user specified in $COMPLETION_FILE"
62
-    exit 5
61
+	echo $"No admin user specified in $COMPLETION_FILE"
62
+	exit 5
63 63
 fi
64 64
 
65 65
 ADMIN_USERNAME=$(cat $COMPLETION_FILE | grep "Admin user" | awk -F ':' '{print $2}')
66 66
 if [ ! $ADMIN_USERNAME ]; then
67
-    echo $"No admin username specified in $COMPLETION_FILE"
68
-    exit 6
67
+	echo $"No admin username specified in $COMPLETION_FILE"
68
+	exit 6
69 69
 fi
70 70
 
71 71
 if [[ $MY_USERNAME == $ADMIN_USERNAME ]]; then
72
-    echo $"The administrator user cannot be removed"
73
-    exit 7
72
+	echo $"The administrator user cannot be removed"
73
+	exit 7
74 74
 fi
75 75
 
76 76
 echo $'>>> REMOVE USER <<<'
77 77
 read -p $"Do you really wish to remove the user '$MY_USERNAME' (y/n) ?" yn
78 78
 if [[ $yn != 'y' && $yn != 'Y' && $yn != 'yes' && $yn != 'Yes' && $yn != 'YES' ]]; then
79
-    echo $"User $MY_USERNAME was not removed"
80
-    exit 8
79
+	echo $"User $MY_USERNAME was not removed"
80
+	exit 8
81 81
 fi
82 82
 
83 83
 if grep -q "install_xmpp" $COMPLETION_FILE; then
84
-    ${PROJECT_NAME}-rmxmpp -e "$MY_USERNAME@$HOSTNAME"
84
+	${PROJECT_NAME}-rmxmpp -e "$MY_USERNAME@$HOSTNAME"
85 85
 fi
86 86
 
87 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
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 92
 fi
93 93
 
94 94
 if grep -q "install_sip" $COMPLETION_FILE; then
95
-    ${PROJECT_NAME}-rmsipuser $MY_USERNAME
95
+	${PROJECT_NAME}-rmsipuser $MY_USERNAME
96 96
 fi
97 97
 
98 98
 if grep -q "GNU Social domain" $COMPLETION_FILE; then
99
-    MICROBLOG_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "GNU Social 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 GNU Social user'
104
-    fi
99
+	MICROBLOG_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "GNU Social 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 GNU Social user'
104
+	fi
105 105
 fi
106 106
 
107 107
 if [ -f /etc/nginx/.htpasswd ]; then
108
-    if grep "${MY_USERNAME}:" /etc/nginx/.htpasswd; then
109
-        htpasswd -D /etc/nginx/.htpasswd $MY_USERNAME
110
-    fi
108
+	if grep "${MY_USERNAME}:" /etc/nginx/.htpasswd; then
109
+		htpasswd -D /etc/nginx/.htpasswd $MY_USERNAME
110
+	fi
111 111
 fi
112 112
 
113 113
 # remove user from SIP TURN/STUN
114 114
 if [ -d /etc/turnserver ]; then
115
-    sed -i "/${MY_USERNAME}:/d" /etc/turnserver/turnusers.txt
115
+	sed -i "/${MY_USERNAME}:/d" /etc/turnserver/turnusers.txt
116
+fi
117
+
118
+# remove gpg keys
119
+if [ -d /home/$MY_USERNAME/.gnupg ]; then
120
+	shred -u /home/$MY_USERNAME/.gnupg/*
121
+fi
122
+
123
+# remove ssh keys
124
+if [ -d /home/$MY_USERNAME/.ssh ]; then
125
+	shred -u /home/$MY_USERNAME/.ssh/*
116 126
 fi
117 127
 
118 128
 userdel -r $MY_USERNAME
119 129
 
120 130
 if [ -d /home/$MY_USERNAME ]; then
121
-    rm -rf /home/$MY_USERNAME
131
+	rm -rf /home/$MY_USERNAME
122 132
 fi
123 133
 
124 134
 echo $"User $MY_USERNAME was removed"