Subversion Repositories ALCASAR

Rev

Rev 2192 | Rev 2211 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 2192 Rev 2206
Line 1... Line 1...
1
 
1
 
2
#!/bin/bash
2
#!/bin/bash
3
# $Id: alcasar-uninstall.sh 2192 2017-05-01 19:52:53Z richard $
3
# $Id: alcasar-uninstall.sh 2206 2017-05-06 17:58:56Z richard $
4
 
4
 
5
# alcasar-uninstall.sh
5
# alcasar-uninstall.sh
6
# by Franck BOUIJOUX, Pascal LEVANT and Richard REY
6
# by Franck BOUIJOUX, Pascal LEVANT and Richard REY
7
# This script is distributed under the Gnu General Public License (GPL)
7
# This script is distributed under the Gnu General Public License (GPL)
8
 
8
 
9
# Désisntallation d'ALCASAR
9
# Désisntallation ou mise à jour d'ALCASAR
10
# Uninstall ALCASAR
10
# Uninstall or update ALCASAR
11
 
11
 
-
 
12
usage="Usage: alcasar-uninstall.sh {-update or --update} | {-full or --full}"
12
SED="/bin/sed -i"
13
SED="/bin/sed -i"
-
 
14
 
-
 
15
nb_args=$#
-
 
16
args=$1
-
 
17
if [ $nb_args -eq 0 ]
-
 
18
then
-
 
19
	nb_args=1
-
 
20
	args="-h"
-
 
21
fi
-
 
22
case $args in
-
 
23
	-\? | -h* | --h*)
-
 
24
		echo "$usage"
-
 
25
		exit 0
-
 
26
		;;
-
 
27
	--update | -update)
-
 
28
		mode="update"
-
 
29
		;;
-
 
30
	--full | -full)
-
 
31
		mode="full"
-
 
32
		;;
-
 
33
	*)
-
 
34
		echo "Argument inconnu :$1";
-
 
35
		echo "$usage"
-
 
36
		exit 1
-
 
37
		;;
-
 
38
esac
-
 
39
 
13
clear
40
clear
-
 
41
if [ $mode == "full" ]
-
 
42
then
14
echo "-----------------------------------------------------------------------------"
43
	echo "----------------------------------------------------------------------------"
15
echo "**                     Uninstall/Update ALCASAR                            **"
44
	echo "**                     Uninstall/Désinstallation d'ALCASAR		**"
16
echo "-----------------------------------------------------------------------------"
45
	echo "----------------------------------------------------------------------------"
-
 
46
	services="alcasar-load_balancing vnstat havp freshclam ntpd httpd radiusd mysqld dnsmasq-blacklist dnsmasq-whitelist dnsmasq-blackhole tinyproxy nfsen fail2ban iptables ulogd-ext-access ulogd-ssh ulogd-traceability dansguardian dnsmasq sshd chilli"
-
 
47
	/usr/local/bin/alcasar-logout.sh all # logout everybody
17
echo
48
else
-
 
49
	echo "----------------------------------------------------------------------------"
-
 
50
	echo "**                     update/mise à jour d'ALCASAR			**"
-
 
51
	echo "----------------------------------------------------------------------------"
-
 
52
	# dnsmasq & sshd should stay on to allow remote update
-
 
53
	services="alcasar-load_balancing vnstat havp freshclam ntpd httpd radiusd mysqld dnsmasq-blacklist dnsmasq-whitelist dnsmasq-blackhole tinyproxy nfsen fail2ban iptables ulogd-ext-access ulogd-ssh ulogd-traceability dansguardian chilli"
18
/usr/local/bin/alcasar-logout.sh all
54
	/usr/local/bin/alcasar-bypass.sh -on # to allow remote update
19
# services_stop
55
fi
20
echo "Stopping service : "
56
echo "Stopping service : "
21
/usr/local/bin/alcasar-sms.sh --stop
57
/usr/local/bin/alcasar-sms.sh --stop
22
for i in alcasar-load_balancing vnstat havp freshclam ntpd httpd radiusd mysqld dnsmasq-blacklist dnsmasq-whitelist dnsmasq-blackhole tinyproxy nfsen fail2ban iptables ulogd-ext-access ulogd-ssh ulogd-traceability dansguardian dnsmasq sshd chilli 
-
 
-
 
58
for i in $services 
23
do
59
do
24
	if [ -e /lib/systemd/system/$i.service ] 
60
	if [ -e /lib/systemd/system/$i.service ] 
25
	then
61
	then
26
		/usr/bin/systemctl disable $i.service
62
		/usr/bin/systemctl disable $i.service
27
	        /usr/bin/systemctl stop $i.service 1>/dev/null
63
	        /usr/bin/systemctl stop $i.service 1>/dev/null
Line 29... Line 65...
29
	else
65
	else
30
		echo "The service $i.service doesn't exist !"
66
		echo "The service $i.service doesn't exist !"
31
	fi
67
	fi
32
done
68
done
33
echo "Check the service clearing"
69
echo "Check the service clearing"
34
for i in alcasar-load_balancing vnstat havp freshclam ntpd httpd radiusd mysqld dnsmasq-blacklist dnsmasq-whitelist dnsmasq-blackhole tinyproxy nfsen fail2ban iptables ulogd-ext-access ulogd-ssh ulogd-traceability dansguardian dnsmasq sshd chilli
-
 
-
 
70
for i in $services
35
do
71
do
36
	if [ `systemctl is-active $i.service` == "active" ]
72
	if [ `systemctl is-active $i.service` == "active" ]
37
	then
73
	then
38
		echo "The service '$i' need to be killed"
74
		echo "The service '$i' need to be killed"
39
		/usr/bin/systemctl stop $i.service
75
		/usr/bin/systemctl stop $i.service
40
		killall $i
76
		killall $i
41
	fi
77
	fi
42
done
78
done
43
echo "Reset ALCASAR main functions : "
79
echo "Reset ALCASAR main functions : "
44
echo -en "\n- init(1) : "
80
echo -en "\n- init(1) : "
45
# les fichiers situés dans /usr/local/ seront supprimés à la fin car encore utiles ici
81
# The files in /usr/local/ will be removed at the end (usefull here)
46
rm -f /root/ALCASAR* && echo -n "1"
82
rm -f /root/ALCASAR* && echo -n "1"
47
sleep 1
83
sleep 1
48
 
84
 
49
echo -en "\n- ACC(11) : "
85
echo -en "\n- ACC(11) : "
50
[ -d /var/www/html ] && rm -rf /var/www/html && echo -n "1, "
86
[ -d /var/www/html ] && rm -rf /var/www/html && echo -n "1, "
Line 109... Line 145...
109
[ -e /etc/dansguardian/lists/bannedsitelist.default ] && mv /etc/dansguardian/lists/bannedsitelist.default /etc/dansguardian/lists/bannedsitelist && echo -n "8"
145
[ -e /etc/dansguardian/lists/bannedsitelist.default ] && mv /etc/dansguardian/lists/bannedsitelist.default /etc/dansguardian/lists/bannedsitelist && echo -n "8"
110
sleep 1
146
sleep 1
111
 
147
 
112
echo -en "\n- antivirus(5) : "
148
echo -en "\n- antivirus(5) : "
113
if [ -e /etc/init.d/havp ] 
149
if [ -e /etc/init.d/havp ] 
114
	then
150
then
115
	[ -e /etc/havp/havp.config.default ] && mv /etc/havp/havp.config.default /etc/havp/havp.config && echo -n "1, "
151
	[ -e /etc/havp/havp.config.default ] && mv /etc/havp/havp.config.default /etc/havp/havp.config && echo -n "1, "
116
	userdel -r havp 2>/dev/null && echo -n "2, "
152
	userdel -r havp 2>/dev/null && echo -n "2, "
117
	[ `grep havp /etc/fstab|wc -l` -ne "0" ] && $SED "/havp/d" /etc/fstab # anciennes versions (mémoire tampon sur disque)
-
 
118
	[ -e /etc/init.d/havp.default ] && mv /etc/init.d/havp.default /etc/init.d/havp && echo -n "3, "
153
	[ -e /etc/init.d/havp.default ] && mv /etc/init.d/havp.default /etc/init.d/havp && echo -n "3, "
119
	[ -e /lib/systemd/system/havp.service.default ] && mv /lib/systemd/system/havp.service.default /lib/systemd/system/havp.service && echo -n "4, "
154
	[ -e /lib/systemd/system/havp.service.default ] && mv /lib/systemd/system/havp.service.default /lib/systemd/system/havp.service && echo -n "4, "
120
	[ -e /etc/freshclam.conf.default ] && mv /etc/freshclam.conf.default /etc/freshclam.conf && echo -n "5"
155
	[ -e /etc/freshclam.conf.default ] && mv /etc/freshclam.conf.default /etc/freshclam.conf && echo -n "5"
121
else	echo -n "uninstalled"
156
else	echo -n "uninstalled"
122
fi
157
fi
123
sleep 1
158
sleep 1
124
 
159
 
125
echo -en "\n- tinyproxy(2) : "
160
echo -en "\n- tinyproxy(2) : "
126
if [ -e /etc/init.d/tinyproxy ] 
161
if [ -e /etc/init.d/tinyproxy ] 
127
	then
162
then
128
	[ -e /etc/tinyproxy/tinyproxy.conf.default ] && mv /etc/tinyproxy/tinyproxy.conf.default /etc/tinyproxy/tinyproxy.conf && echo -n "1, "
163
	[ -e /etc/tinyproxy/tinyproxy.conf.default ] && mv /etc/tinyproxy/tinyproxy.conf.default /etc/tinyproxy/tinyproxy.conf && echo -n "1, "
129
	userdel -r tinyproxy 2>/dev/null && echo -n "2"
164
	userdel -r tinyproxy 2>/dev/null && echo -n "2"
130
else	echo -n "uninstalled"
165
else	echo -n "uninstalled"
131
fi
166
fi
132
sleep 1
167
sleep 1
133
 
168
 
134
echo -en "\n- ulogd(6) : "
169
echo -en "\n- ulogd(6) : "
135
i=0
170
i=0
136
for log_type in traceability ssh ext-access
171
for log_type in traceability ssh ext-access
137
      do
172
do
138
      i=`expr $i + 1`
173
	i=`expr $i + 1`
139
      [ -e /etc/ulogd-$log_type.conf ] && rm -f /etc/ulogd-$log_type.conf && echo -n "$i, "
174
	[ -e /etc/ulogd-$log_type.conf ] && rm -f /etc/ulogd-$log_type.conf && echo -n "$i, "
140
      i=`expr $i + 1`
175
	i=`expr $i + 1`
141
      [ -e /lib/systemd/system/ulogd-$log_type.service ] && rm -f /lib/systemd/system/ulogd-$log_type.service && echo -n "$i, "
176
	[ -e /lib/systemd/system/ulogd-$log_type.service ] && rm -f /lib/systemd/system/ulogd-$log_type.service && echo -n "$i, "
142
      done
177
done
143
sleep 1
178
sleep 1
144
 
179
 
145
echo -en "\n- nfsen(1) : "
180
echo -en "\n- nfsen(1) : "
146
[ -e /lib/systemd/system/nfsen.service ] && rm -f /lib/systemd/system/nfsen.service && echo -n "1"
181
[ -e /lib/systemd/system/nfsen.service ] && rm -f /lib/systemd/system/nfsen.service && echo -n "1"
147
sleep 1
182
sleep 1
Line 169... Line 204...
169
sleep 1
204
sleep 1
170
 
205
 
171
echo -en "\n- BL(0) : "
206
echo -en "\n- BL(0) : "
172
sleep 1
207
sleep 1
173
 
208
 
174
echo -en "\n- dhcp-server(1) : "
-
 
175
if [ -e /etc/init.d/dhcpd ]
-
 
176
then
-
 
177
	/usr/sbin/urpme --auto dhcp-server --auto-orphans && echo -n "1"
-
 
178
else echo -n "uninstalled"
-
 
179
fi
-
 
180
sleep 1
-
 
181
 
-
 
182
echo -en "\n- fail2ban(8) : "
209
echo -en "\n- fail2ban(8) : "
183
[ -e /etc/fail2ban/fail2ban.conf.default ] && mv /etc/fail2ban/fail2ban.conf.default /etc/fail2ban/fail2ban.conf && echo -n "1, "
210
[ -e /etc/fail2ban/fail2ban.conf.default ] && mv /etc/fail2ban/fail2ban.conf.default /etc/fail2ban/fail2ban.conf && echo -n "1, "
184
[ -e /etc/fail2ban/jail.conf.default ] && mv /etc/fail2ban/jail.conf.default /etc/fail2ban/jail.conf && echo -n "2, "
211
[ -e /etc/fail2ban/jail.conf.default ] && mv /etc/fail2ban/jail.conf.default /etc/fail2ban/jail.conf && echo -n "2, "
185
[ -e /etc/fail2ban/action.d/iptables-allports.conf.default ] && mv /etc/fail2ban/action.d/iptables-allports.conf.default /etc/fail2ban/action.d/iptables-allports.conf && echo -n "3, "
212
[ -e /etc/fail2ban/action.d/iptables-allports.conf.default ] && mv /etc/fail2ban/action.d/iptables-allports.conf.default /etc/fail2ban/action.d/iptables-allports.conf && echo -n "3, "
186
[ -e /etc/fail2ban/filter.d/alcasar_mod-evasive.conf ] && rm /etc/fail2ban/filter.d/alcasar_mod-evasive.conf && echo -n "4, "
213
[ -e /etc/fail2ban/filter.d/alcasar_mod-evasive.conf ] && rm /etc/fail2ban/filter.d/alcasar_mod-evasive.conf && echo -n "4, "
Line 208... Line 235...
208
[ -e /etc/gammu_smsd_conf ] && rm -f /etc/gammu_smsd_conf && echo -n "1, "
235
[ -e /etc/gammu_smsd_conf ] && rm -f /etc/gammu_smsd_conf && echo -n "1, "
209
[ -e /etc/udev/rules.d/66-huawei.rules ] && rm -f /etc/udev/rules.d/66-huawei.rules && echo -n "2, "
236
[ -e /etc/udev/rules.d/66-huawei.rules ] && rm -f /etc/udev/rules.d/66-huawei.rules && echo -n "2, "
210
[ -e /var/log/gammu-smsd ] && rm -rf /var/log/gammu-smsd && echo -n "3"
237
[ -e /var/log/gammu-smsd ] && rm -rf /var/log/gammu-smsd && echo -n "3"
211
sleep 1
238
sleep 1
212
 
239
 
-
 
240
if [ mode == "full " ]
-
 
241
then
213
echo -en "\n- network(9) : "
242
	echo -en "\n- network(9) : "
214
hostname localhost
243
	hostname localhost
215
CONF_FILE="/usr/local/etc/alcasar.conf"
244
	CONF_FILE="/usr/local/etc/alcasar.conf"
216
EXTIF=`grep ^EXTIF= $CONF_FILE|cut -d"=" -f2`		# EXTernal InterFace
245
	EXTIF=`grep ^EXTIF= $CONF_FILE|cut -d"=" -f2`		# EXTernal InterFace
217
INTIF=`grep ^INTIF= $CONF_FILE|cut -d"=" -f2`		# INTernal InterFace
246
	INTIF=`grep ^INTIF= $CONF_FILE|cut -d"=" -f2`		# INTernal InterFace
218
i=0
247
	i=0
219
for nic in $EXTIF $INTIF
248
	for nic in $EXTIF $INTIF
220
	do
249
	do
221
	i=`expr $i + 1`
250
		i=`expr $i + 1`
222
	/sbin/ifdown $nic
251
		/sbin/ifdown $nic
223
	[ -e /etc/sysconfig/network-scripts/default-ifcfg-$nic ] && mv -f /etc/sysconfig/network-scripts/default-ifcfg-$nic /etc/sysconfig/network-scripts/ifcfg-$nic && echo -n "$i, "
252
		[ -e /etc/sysconfig/network-scripts/default-ifcfg-$nic ] && mv -f /etc/sysconfig/network-scripts/default-ifcfg-$nic /etc/sysconfig/network-scripts/ifcfg-$nic && echo -n "$i, "
224
	done
253
	done
225
[ -e /etc/sysconfig/network.default ] && mv /etc/sysconfig/network.default /etc/sysconfig/network && echo -n "3, "
254
	[ -e /etc/sysconfig/network.default ] && mv /etc/sysconfig/network.default /etc/sysconfig/network && echo -n "3, "
226
[ -e /etc/hosts.default ] && mv /etc/hosts.default /etc/hosts && echo -n "4, "
255
	[ -e /etc/hosts.default ] && mv /etc/hosts.default /etc/hosts && echo -n "4, "
227
[ -e /etc/hosts.allow.default ] && mv /etc/hosts.allow.default /etc/hosts.allow && echo -n "5, "
256
	[ -e /etc/hosts.allow.default ] && mv /etc/hosts.allow.default /etc/hosts.allow && echo -n "5, "
228
[ -e /etc/hosts.deny.default ] && mv /etc/hosts.deny.default /etc/hosts.deny && echo -n "6, "
257
	[ -e /etc/hosts.deny.default ] && mv /etc/hosts.deny.default /etc/hosts.deny && echo -n "6, "
229
[ -e /etc/modprobe.preload.default ] && mv /etc/modprobe.preload.default /etc/modprobe.preload && echo -n "7, "
258
	[ -e /etc/modprobe.preload.default ] && mv /etc/modprobe.preload.default /etc/modprobe.preload && echo -n "7, "
230
[ -e /lib/systemd/system/iptables.service.default ] && mv /lib/systemd/system/iptables.service.default /lib/systemd/system/iptables.service && echo -n "8, "
259
	[ -e /lib/systemd/system/iptables.service.default ] && mv /lib/systemd/system/iptables.service.default /lib/systemd/system/iptables.service && echo -n "8, "
231
[ -e /usr/libexec/iptables.init.default ] && mv /usr/libexec/iptables.init.default /usr/libexec/iptables.init && echo -n "9"
260
	[ -e /usr/libexec/iptables.init.default ] && mv /usr/libexec/iptables.init.default /usr/libexec/iptables.init && echo -n "9"
232
 
-
 
233
/sbin/ifup $EXTIF
261
	/sbin/ifup $EXTIF
234
sleep 1
262
	sleep 1
-
 
263
fi
235
 
264
 
236
#post_install
265
#post_install
237
echo -en "\n- post_install(6) : "
266
echo -en "\n- post_install(6) : "
238
[ -e /etc/mageia-release.default ] && mv /etc/mageia-release.default /etc/mageia-release && echo -n "1, "
267
[ -e /etc/mageia-release.default ] && mv /etc/mageia-release.default /etc/mageia-release && echo -n "1, "
239
[ -e /etc/ssh/alcasar-banner-ssh ] && rm -f /etc/ssh/alcasar-banner-ssh && echo -n "2, "
268
[ -e /etc/ssh/alcasar-banner-ssh ] && rm -f /etc/ssh/alcasar-banner-ssh && echo -n "2, "
Line 244... Line 273...
244
sleep 1
273
sleep 1
245
 
274
 
246
# nettoyage (on retire les services supprimés ou remplacés dans la nouvelle version)
275
# nettoyage (on retire les services supprimés ou remplacés dans la nouvelle version)
247
echo -en "\n- cleaning() : "
276
echo -en "\n- cleaning() : "
248
for rm_fic in /usr/local/bin /usr/local/etc /usr/local/sbin
277
for rm_fic in /usr/local/bin /usr/local/etc /usr/local/sbin
249
	do
278
do
250
	rm -rf $rm_fic/alcasar*
279
	rm -rf $rm_fic/alcasar*
251
	done
280
done
252
echo
281
echo
253
 
282