Subversion Repositories ALCASAR

Rev

Rev 2937 | Rev 2939 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log

Rev Author Line No. Line
672 richard 1
#!/bin/bash
62 franck 2
# $Id: alcasar-uninstall.sh 2938 2021-04-06 22:17:19Z rexy $
3
 
1 root 4
# alcasar-uninstall.sh
672 richard 5
# by Franck BOUIJOUX, Pascal LEVANT and Richard REY
1 root 6
# This script is distributed under the Gnu General Public License (GPL)
518 stephane 7
 
2206 richard 8
# Désisntallation ou mise à jour d'ALCASAR
9
# Uninstall or update ALCASAR
672 richard 10
 
88 richard 11
SED="/bin/sed -i"
2206 richard 12
 
2494 tom.houday 13
[ -z $DEBUG_ALCASAR ] && DEBUG_ALCASAR='off'
14
 
2464 richard 15
init ()
16
{
17
	echo -en "(3) : "
18
	rm -f /root/ALCASAR* && echo -n "1, " # The files in /usr/local/ will be removed at the end (still usefull here)
19
	[ -e /boot/grub2/user.cfg ] && rm -f /boot/grub2/user.cfg && echo -n "2, "
20
	[ -e /root/grub.default ] && mv -f /root/grub.default /etc/grub.d/10_linux && echo -n "3"
21
}
22
 
23
ACC ()
24
{
2937 rexy 25
	echo -en "(11) : "
2560 rexy 26
	[ -d /var/www/html ] && rm -rf /var/www/html && echo -n "1, "
2739 rexy 27
	[ -d /etc/freeradius-web ] && rm -rf /etc/freeradius-web && echo -n "2, "
2887 rexy 28
	[ -e /etc/php.d/05_date.ini.default ] && mv -f /etc/php.d/05_date.ini.default /etc/php.d/05_date.ini && echo -n "3, "
29
	[ -e /etc/php.ini.default ] && mv -f /etc/php.ini.default /etc/php.ini && echo -n "4, "
30
	[ -e /etc/lighttpd/lighttpd.conf.default ] && mv -f /etc/lighttpd/lighttpd.conf.default /etc/lighttpd/lighttpd.conf && echo -n "5, "
31
	[ -e /etc/lighttpd/modules.conf.default ] && mv -f /etc/lighttpd/modules.conf.default /etc/lighttpd/modules.conf && echo -n "6, "
32
	[ -e /etc/lighttpd/conf.d/fastcgi.conf.default ] && mv -f /etc/lighttpd/conf.d/fastcgi.conf.default /etc/lighttpd/conf.d/fastcgi.conf && echo -n "7, "
33
	[ -e /etc/php-fpm.conf.default ] && mv -f /etc/php-fpm.conf.default /etc/php-fpm.conf && echo -n "8, "
34
	[ -d /etc/lighttpd/vhosts.d ] && rm -rf /etc/lighttpd/vhosts.d && echo -n "9, "
2937 rexy 35
	[ -d /usr/local/etc/digest ] && rm -rf /usr/local/etc/digest && echo -n "10, "
36
	[ -e /etc/systemd/system/lighttpd.service ] && rm -f /etc/systemd/system/lighttpd.service && echo -n "11"
2464 richard 37
}
38
 
39
CA ()
40
{
41
	echo -en "(5) : "
42
	[ -e /etc/pki/CA/alcasar-ca.crt ] && rm -f /etc/pki/CA/alcasar-ca.crt && echo -n "1, "
43
	[ -e /etc/pki/CA/private/alcasar-ca.key ] && rm -f /etc/pki/CA/private/alcasar-ca.key && echo -n "2, "
44
	[ -e /etc/pki/tls/certs/alcasar.crt ] && rm -f /etc/pki/tls/certs/alcasar.crt && echo -n "3, "
45
	[ -e /etc/pki/tls/private/alcasar.key ] && rm -f /etc/pki/tls/private/alcasar.key && echo -n "4, "
2488 lucas.echa 46
	[ -e /etc/pki/tls/private/alcasar.pem ] && rm -f /etc/pki/tls/private/alcasar.pem && echo -n "5"
2464 richard 47
}
48
 
49
time_server ()
50
{
51
	echo -en "(2) : "
52
	[ -e /etc/ntp/step-tickers.default ] && mv /etc/ntp/step-tickers.default /etc/ntp/step-tickers && echo -n "1, "
53
	[ -e /etc/ntp.conf.default ] && mv /etc/ntp.conf.default /etc/ntp.conf && echo -n "2"
54
}
55
 
56
init_db ()
57
{
58
	echo -en "(2) : "
59
	[ -e /etc/my.cnf.default ] && mv -f /etc/my.cnf.default /etc/my.cnf && echo -n "1, "
2937 rexy 60
	if [ -e /lib/systemd/system/mysqld.service.default ]
61
	then
62
		mv -f /lib/systemd/system/mysqld.service.default /lib/systemd/system/mysqld.service
63
		echo -n "2"
64
	else
65
		if [ -e /etc/systemd/system/mysqld.service ]
66
		then
67
			rm /etc/systemd/system/mysqld.service
68
			echo -n "2"
69
		fi
70
	fi
2464 richard 71
	/usr/bin/systemctl daemon-reload
72
	rm -rf /var/lib/mysql
73
}
74
 
75
freeradius ()
76
{
2772 rexy 77
	echo -en "(22) : "
2937 rexy 78
	[ -e /etc/raddb/empty-radiusd-db.sql ] && rm /etc/raddb/empty-radiusd-db.sql && echo -n "1, "
2464 richard 79
	[ -e /etc/raddb/radiusd.conf.default ] && mv /etc/raddb/radiusd.conf.default /etc/raddb/radiusd.conf && echo -n "2, "
2728 rexy 80
	[ -e /etc/raddb/dictionary.default ] && mv /etc/raddb/dictionary.default /etc/raddb/dictionary && echo -n "3, "
2772 rexy 81
	[ -e /etc/raddb/dictionary.alcasar ] && rm /etc/raddb/dictionary.alcasar && echo -n "4, "
82
	[ -e /etc/raddb/dictionary.coovachilli ] && rm /etc/raddb/dictionary.coovachilli && echo -n "5, "
83
	[ -e /etc/raddb/clients.conf.default ] && mv /etc/raddb/clients.conf.default /etc/raddb/clients.conf && echo -n "6, "
84
	[ -e /etc/raddb/sites-enabled/alcasar ] && rm /etc/raddb/sites-enabled/alcasar && echo -n "7, "
85
	[ -e /etc/raddb/sites-available/alcasar ] && rm /etc/raddb/sites-available/alcasar && echo -n "8, "
86
	[ -e /etc/raddb/sites-available/alcasar-with-ldap ] && rm /etc/raddb/sites-available/alcasar-with-ldap && echo -n "9, "
2938 rexy 87
	[ -e /etc/raddb/mods-available/ldap-alcasar ] && rm /etc/raddb/mods-available/ldap-alcasar && echo -n "10, "
2772 rexy 88
    i=10
2728 rexy 89
	for mods in sql sqlcounter attr_filter expiration logintime pap expr always
90
	do
2744 rexy 91
		i=`expr $i + 1`
2937 rexy 92
        [ -e /etc/raddb/mods-enabled/$mods ] && rm /etc/raddb/mods-enabled/$mods && echo -n "$i, "
2728 rexy 93
	done
2772 rexy 94
	[ -e /etc/raddb/mods-available/sql.default ] && mv /etc/raddb/mods-available/sql.default /etc/raddb/mods-available/sql && echo -n "19, "
95
	[ -e /etc/raddb/mods-config/sql/main/mysql/queries.conf.default ] && mv /etc/raddb/mods-config/sql/main/mysql/queries.conf.default /etc/raddb/mods-config/sql/main/mysql/queries.conf && echo -n "20, "
96
	[ -e /etc/raddb/mods-available/sqlcounter.default ] && mv /etc/raddb/mods-available/sqlcounter.default /etc/raddb/mods-available/sqlcounter && echo -n "21, "
2937 rexy 97
	if [ -e /lib/systemd/system/radiusd.service.default ]
98
	then
99
		mv /lib/systemd/system/radiusd.service.default /lib/systemd/system/radiusd.service
100
		echo -n "22"
101
	else
102
		if [ -e /etc/systemd/system/radiusd.service ]
103
			then
104
			rm -f /etc/systemd/system/radiusd.service
105
			echo -n "22"
106
		fi
107
	fi
2464 richard 108
}
109
 
110
chilli ()
111
{
112
	echo -en "(4) : "
113
	[ -e /etc/init.d/chilli.default ] && mv /etc/init.d/chilli.default /etc/init.d/chilli && echo -n "1, "
114
	[ -e /usr/libexec/chilli ] && rm /usr/libexec/chilli && echo -n "2, "
115
	[ -e /etc/chilli.conf.default ] && mv /etc/chilli.conf.default /etc/chilli.conf && echo -n "3, "
2937 rexy 116
	[ -e /etc/systemd/system/chilli.service ] && rm /etc/systemd/system/chilli.service && echo -n "4"
2464 richard 117
}
118
 
2521 armand.ito 119
e2guardian ()
2464 richard 120
{
2840 rexy 121
	echo -en "(15) : "
2809 rexy 122
	[ -d /var/e2guardian ] && rm -rf /var/e2guardian
123
	[ -d /var/dansguardian ] && rm -rf /var/dansguardian
2937 rexy 124
	if [ -e /lib/systemd/system/e2guardian.service.default ]
125
	then
126
		mv /lib/systemd/system/e2guardian.service.default /lib/systemd/system/e2guardian.service
127
		echo -n "1, "
128
	else
129
		if [ -e /etc/systemd/system/e2guardian.service ]
130
		then
131
			rm -f /etc/systemd/system/e2guardian.service
132
			echo -n "1, "
133
		fi
134
	fi
2809 rexy 135
    [ -e /etc/e2guardian/e2guardian.conf.default ] && mv /etc/e2guardian/e2guardian.conf.default /etc/e2guardian/e2guardian.conf && echo -n "2, "
136
	[ -e /etc/e2guardian/lists/bannedphraselist.default ] && mv /etc/e2guardian/lists/bannedphraselist.default /etc/e2guardian/lists/bannedphraselist && echo -n "3, "
137
	[ -e /etc/e2guardian/e2guardianf1.conf.default ] && mv /etc/e2guardian/e2guardianf1.conf.default /etc/e2guardian/e2guardianf1.conf && echo -n "4, "
2840 rexy 138
	[ -e /etc/e2guardian/e2guardianf2.conf ] && rm -f /etc/e2guardian/e2guardianf2.conf && echo -n "5, "
2937 rexy 139
	[ -e /usr/share/e2guardian/languages/french/alcasar-e2g.html ] && rm /usr/share/e2guardian/languages/french/alcasar-e2g.html && echo -n "6, "
140
	[ -e /usr/share/e2guardian/languages/ukenglish/alcasar-e2g.html ] && rm /usr/share/e2guardian/languages/ukenglish/alcasar-e2g.html && echo -n "7, "
2840 rexy 141
	[ -e /etc/e2guardian/lists/bannedextensionlist.default ] && mv /etc/e2guardian/lists/bannedextensionlist.default /etc/e2guardian/lists/bannedextensionlist && echo -n "8, "
142
	[ -e /etc/e2guardian/lists/bannedmimetypelist.default ] && mv /etc/e2guardian/lists/bannedmimetypelist.default /etc/e2guardian/lists/bannedmimetypelist && echo -n "9, "
143
	[ -e /etc/e2guardian/lists/exceptioniplist.default ] && mv /etc/e2guardian/lists/exceptioniplist.default /etc/e2guardian/lists/exceptioniplist && echo -n "10, "
2841 rexy 144
	[ -e /etc/e2guardian/lists/greysitelist.default ] && mv /etc/e2guardian/lists/greysitelist.default /etc/e2guardian/lists/greysitelist && echo -n "11, "
2840 rexy 145
	[ -e /etc/e2guardian/lists/bannedurllist.default ] && mv /etc/e2guardian/lists/bannedurllist.default /etc/e2guardian/lists/bannedurllist && echo -n "12, "
146
	[ -e /etc/e2guardian/lists/exceptionsitelist.default ] && mv /etc/e2guardian/lists/exceptionsitelist.default /etc/e2guardian/lists/exceptionsitelist && echo -n "13, "
147
	[ -e /etc/e2guardian/lists/exceptionurllist.default ] && mv /etc/e2guardian/lists/exceptionurllist.default /etc/e2guardian/lists/exceptionurllist && echo -n "14, "
148
	[ -e /etc/e2guardian/lists/urlregexplist.default ] && mv /etc/e2guardian/lists/urlregexplist.default /etc/e2guardian/lists/urlregexplist && echo -n "15"
2464 richard 149
}
150
 
151
antivirus ()
152
{
2868 rexy 153
	echo -en "(4) : "
2937 rexy 154
	if [ -e /lib/systemd/system/clamav-daemon.service.default ]
155
	then
156
		mv /lib/systemd/system/clamav-daemon.service.default /lib/systemd/system/clamav-daemon.service
157
		echo -n "1, "
158
	else
159
		if [ -e /etc/systemd/system/clamav-daemon.service ]
160
		then
161
			rm -f /etc/systemd/system/clamav-daemon.service
162
			echo -n "1, "
163
		fi
164
	fi
165
	if [ -e /lib/systemd/system/clamav-daemon.socket.default ]
166
	then
167
		mv /lib/systemd/system/clamav-daemon.socket.default /lib/systemd/system/clamav-daemon.socket
168
		echo -n "2, "
169
	else
170
		if [ -e /etc/systemd/system/clamav-daemon.socket ]
171
		then
172
			rm -f /etc/systemd/system/clamav-daemon.socket
173
			echo -n "2, "
174
		fi
175
	fi
2868 rexy 176
	[ -e /etc/clamd.conf.default ] && mv /etc/clamd.conf.default /etc/clamd.conf && echo -n "3, "
177
	[ -e /etc/freshclam.conf.default ] && mv /etc/freshclam.conf.default /etc/freshclam.conf && echo -n "4"
2464 richard 178
}
179
 
180
ulogd ()
181
{
182
	echo -en "(6) : "
183
	i=0
184
	for log_type in traceability ssh ext-access
185
	do
186
		i=`expr $i + 1`
187
		[ -e /etc/ulogd-$log_type.conf ] && rm -f /etc/ulogd-$log_type.conf && echo -n "$i, "
188
		i=`expr $i + 1`
2937 rexy 189
		[ -e /etc/systemd/system/ulogd-$log_type.service ] && rm -f /etc/systemd/system/ulogd-$log_type.service && echo -n "$i, "
2464 richard 190
	done
191
}
192
 
193
nfsen ()
194
{
2771 rexy 195
	# we don't remove user "nfcapd" & nfcapd folders in order to keep data when updating
2464 richard 196
	echo -en "(1) : "
2937 rexy 197
	[ -e /etc/systemd/system/nfcapd.service ] && rm -f /etc/systemd/system/nfcapd.service && echo -n "1"
2464 richard 198
}
199
 
200
vnstat ()
201
{
2845 rexy 202
	echo -en "(2) : "
203
	[ -e /etc/vnstat.conf.default ] && mv /etc/vnstat.conf.default /etc/vnstat.conf && echo -n "1, "
2937 rexy 204
	if [ -e /lib/systemd/system/vnstat.service.default ]
205
	then
206
		mv /lib/systemd/system/vnstat.service.default /lib/systemd/system/vnstat.service
207
		echo -n "2"
208
	else
209
		if [ -e /etc/systemd/system/vnstat.service ]
210
		then
211
			rm -f /etc/systemd/system/vnstat.service
212
			echo -n "2"
213
		fi
214
	fi
2464 richard 215
}
216
 
217
dnsmasq ()
218
{
2937 rexy 219
	echo -en "(3) : "
2745 rexy 220
	[ -e /etc/dnsmasq.conf.default ] && mv /etc/dnsmasq.conf.default /etc/dnsmasq.conf && echo -n "1, "
221
	[ -e /etc/dnsmasq-whitelist.conf ] && rm /etc/dnsmasq-whitelist.conf && echo -n "2, "
2937 rexy 222
	if [ -e /lib/systemd/system/dnsmasq.service.default ]
223
	then
224
		mv /lib/systemd/system/dnsmasq.service.default /lib/systemd/system/dnsmasq.service
225
		echo -n "3, "
226
	else
227
		if [ -e /etc/systemd/system/dnsmasq-whitelist.service ]
228
		then
229
			rm -f /etc/systemd/system/dnsmasq-whitelist.service
230
			echo -n "3, "
231
		fi
232
	fi
2464 richard 233
}
234
 
2688 lucas.echa 235
unbound ()
236
{
2937 rexy 237
	echo -en "(9) : "
2688 lucas.echa 238
	[ -e /etc/unbound/unbound.conf.default ] && mv /etc/unbound/unbound.conf.default /etc/unbound/unbound.conf && echo -n "1, "
239
	[ -e /etc/unbound/unbound-blacklist.conf ] && rm -f /etc/unbound/unbound-blacklist.conf && echo -n "2, "
240
	[ -e /etc/unbound/unbound-whitelist.conf ] && rm -f /etc/unbound/unbound-whitelist.conf && echo -n "3, "
241
	[ -e /etc/unbound/unbound-blackhole.conf ] && rm -f /etc/unbound/unbound-blackhole.conf && echo -n "4, "
2937 rexy 242
	[ -e /etc/unbound/conf.d ] && rm -rf /etc/unbound/conf.d && echo -n "5, "
243
	i=6
244
	for list in blacklist blackhole whitelist
245
	do
246
		if [ -e /lib/systemd/system/unbound-$list.service ]
247
		then
248
			rm -f /lib/systemd/system/unbound-$list.service
249
			echo -n "$i, "
250
		else
251
			if [ -e /etc/systemd/system/unbound-$list.service ]
252
			then
253
				rm -f /etc/systemd/system/unbound-$list.service
254
				echo -n "$i, "
255
			fi
256
		fi
257
		i=`expr $i + 1`
258
	done
259
	if [ -e /lib/systemd/system/unbound.service.default ]
260
	then
261
		mv /lib/systemd/system/unbound.service.default /lib/systemd/system/unbound.service
262
		echo -n "9"
263
	else
264
		if [ -e /etc/systemd/system/unbound.service ]
265
		then
266
			rm -f /etc/systemd/system/unbound.service
267
			echo -n "9"
268
		fi
269
	fi
2688 lucas.echa 270
}
271
 
2689 lucas.echa 272
dhcpd ()
273
{
274
	echo -en "(1) : "
275
	[ -e /etc/dhcpd.conf.default ] && mv /etc/dhcpd.conf.default /etc/dhcpd.conf && echo -n "1"
276
}
277
 
2464 richard 278
cron ()
279
{
2772 rexy 280
# /etc/cron.d/alcasar-daemon-watchdog is removed at the beginning of this script
2833 rexy 281
echo -en "(12) : "
2464 richard 282
	i=1
283
	for cron in `ls /etc/cron.d/alcasar-* 2>/dev/null`
284
	do
285
		rm $cron && echo -n "$i, "
286
		i=`expr $i + 1`
287
	done
2833 rexy 288
	[ -e /etc/crontab.default ] && mv /etc/crontab.default /etc/crontab && echo -n "11, "
289
	[ -e /etc/anacrontab.default ] && mv /etc/anacrontab.default /etc/anacrontab && echo -n "12"
2464 richard 290
}
291
 
292
fail2ban ()
293
{
2868 rexy 294
	echo -en "(11) : "
2744 rexy 295
	[ -e /etc/fail2ban/jail.conf.default ] && mv /etc/fail2ban/jail.conf.default /etc/fail2ban/jail.conf && echo -n "1, "
2864 rexy 296
	[ -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 # only for ALCASAR version <= V3.5.1
2744 rexy 297
	i=2
2464 richard 298
	for filter in `ls /etc/fail2ban/filter.d/alcasar_* 2>/dev/null`
299
	do
300
		i=`expr $i + 1`
301
		rm $filter && echo -n "$i, "
302
	done
2867 rexy 303
	for jail in `ls /etc/fail2ban/jail.d/*alcasar_* 2>/dev/null`
304
	do
305
		i=`expr $i + 1`
306
		rm $jail && echo -n "$i, "
307
	done
2937 rexy 308
	if [ -e /lib/systemd/system/fail2ban.service.default ]
309
	then
310
		mv /lib/systemd/system/fail2ban.service.default /lib/systemd/system/fail2ban.service
311
		echo -n "11"
312
	else
313
		if [ -e /etc/systemd/system/fail2ban.service ]
314
		then
315
			rm -f /etc/systemd/system/fail2ban.service
316
			echo -n "11"
317
		fi
318
	fi
2464 richard 319
}
320
 
321
gammu_smsd ()
322
{
2937 rexy 323
	echo -en "(4) : "
2464 richard 324
	[ -e /etc/gammu_smsd_conf ] && rm -f /etc/gammu_smsd_conf && echo -n "1, "
2938 rexy 325
	[ -e /etc/systemd/system/gammu-smsd.service ] && rm -f /etc/systemd/system/gammu-smsd.service && echo -n "2, "
2937 rexy 326
	[ -e /var/log/gammu-smsd ] && rm -rf /var/log/gammu-smsd && echo -n "3, "
327
	userdel -r gammu_smsd 2>/dev/null && echo -n "4"
2772 rexy 328
	#[ -e /lib/udev/rules.d/66-huawei.rules ] && rm -f /lib/udev/rules.d/66-huawei.rules && echo -n "4"
2464 richard 329
}
330
 
331
msec ()
332
{
333
	echo -en "(2) : "
334
	if [ -e /etc/security/msec/security.conf ]
335
	then
336
		[ -e /etc/security/msec/security.conf.default ] && mv /etc/security/msec/security.conf.default /etc/security/msec/security.conf && echo -n "1, "
337
		[ -e /etc/security/msec/perm.local ] && rm -f /etc/security/msec/perm.local && echo -n "2"
338
	else	echo -n "uninstalled"
339
	fi
340
}
341
 
342
letsencrypt ()
343
{
344
	echo -en "(3) : "
345
	[ -e /usr/local/etc/letsencrypt ] && rm -rf /usr/local/etc/letsencrypt && echo -n "1, "
346
	[ -e /opt/acme.sh/acme.sh ] && /opt/acme.sh/acme.sh --uninstall --nocron 1>/dev/null && echo -n "2, "
347
	[ -e /opt/acme.sh ] && rm -rf /opt/acme.sh && echo -n "3"
348
}
349
 
350
post_install ()
351
{
2864 rexy 352
echo -en "(8) : "
2464 richard 353
	[ -e /etc/mageia-release.default ] && mv -f /etc/mageia-release.default /etc/mageia-release && echo -n "1, "
354
	[ -e /etc/ssh/alcasar-banner-ssh ] && rm -f /etc/ssh/alcasar-banner-ssh && echo -n "2, "
355
	[ -e /etc/ssh/sshd_config.default ] && mv -f /etc/ssh/sshd_config.default /etc/ssh/sshd_config && echo -n "3, "
356
	[ -e /etc/bashrc.default ] && mv -f /etc/bashrc.default /etc/bashrc && echo -n "4, "
357
	[ -e /etc/sudoers.default ] && mv -f /etc/sudoers.default /etc/sudoers && echo -n "5, "
2937 rexy 358
	if [ -e /lib/systemd/system/alcasar-load_balancing.service ]
359
	then
360
		rm -f /lib/systemd/system/alcasar-load_balancing.service
361
		echo -n "6, "
362
	else
363
		if [ -e /etc/systemd/system/alcasar-load_balancing.service ]
364
		then
365
			rm -f /etc/systemd/system/alcasar-load_balancing.service
366
			echo -n "6, "
367
		fi
368
	fi
2864 rexy 369
	[ -e /etc/security/limits.conf.default ] && mv -f /etc/security/limits.conf.default /etc/security/limits.conf && echo -n "7, "
370
	[ -e /etc/default/grub.default ] && mv -f /etc/default/grub.default /etc/default/grub && echo -n "8"
2464 richard 371
}
372
 
373
 
374
usage="Usage: alcasar-uninstall.sh {-update or --update} | {-full or --full}"
375
 
2206 richard 376
nb_args=$#
377
args=$1
378
if [ $nb_args -eq 0 ]
379
then
380
	nb_args=1
381
	args="-h"
382
fi
383
case $args in
384
	-\? | -h* | --h*)
385
		echo "$usage"
386
		exit 0
387
		;;
388
	--update | -update)
389
		mode="update"
390
		;;
391
	--full | -full)
392
		mode="full"
393
		;;
394
	*)
395
		echo "Argument inconnu :$1";
396
		echo "$usage"
397
		exit 1
398
		;;
399
esac
1 root 400
clear
2206 richard 401
if [ $mode == "full" ]
402
then
403
	echo "----------------------------------------------------------------------------"
404
	echo "**                     Uninstall/Désinstallation d'ALCASAR		**"
405
	echo "----------------------------------------------------------------------------"
2840 rexy 406
	services="alcasar-load_balancing vnstat clamav-daemon clamav-freshclam ntpd php-fpm lighttpd radiusd mysqld unbound unbound-blacklist unbound-whitelist dnsmasq-whitelist unbound-blackhole nfcapd fail2ban iptables ulogd-ext-access ulogd-ssh ulogd-traceability e2guardian sshd chilli"
2206 richard 407
	/usr/local/bin/alcasar-logout.sh all # logout everybody
408
else
2464 richard 409
	echo "--------------------------------------------------------------------------"
2206 richard 410
	echo "**                     update/mise à jour d'ALCASAR			**"
2464 richard 411
	echo "--------------------------------------------------------------------------"
2732 rexy 412
	# unbound, iptables & sshd should stay on to allow remote update
2840 rexy 413
	services="alcasar-load_balancing vnstat clamav-daemon clamav-freshclam ntpd php-fpm lighttpd radiusd mysqld unbound-blacklist unbound-whitelist dnsmasq-whitelist unbound-blackhole nfcapd fail2ban ulogd-ext-access ulogd-ssh ulogd-traceability e2guardian chilli"
2870 rexy 414
	/usr/local/bin/alcasar-bypass.sh -on # to allow remote update + users stay connected during the update
2206 richard 415
fi
2488 lucas.echa 416
 
2541 rexy 417
echo "Stopping services : "
2772 rexy 418
# remove daemon watchdog in order to not restart alcasar daemons during the uninstall process
419
[ -e /etc/cron.d/alcasar-daemon-watchdog ] && rm -f /etc/cron.d/alcasar-daemon-watchdog
1800 richard 420
/usr/local/bin/alcasar-sms.sh --stop
2454 tom.houday 421
for i in $services
1211 crox53 422
do
2937 rexy 423
	service_exist=`systemctl list-unit-files | grep ^$i.service | wc -l`
424
	if [ $service_exist -eq 1 ]
1800 richard 425
	then
426
		/usr/bin/systemctl disable $i.service
2454 tom.houday 427
		/usr/bin/systemctl stop $i.service 1>/dev/null
1800 richard 428
		sleep 1
429
	else
430
		echo "The service $i.service doesn't exist !"
431
	fi
1211 crox53 432
done
1673 richard 433
echo "Check the service clearing"
2206 richard 434
for i in $services
1673 richard 435
do
436
	if [ `systemctl is-active $i.service` == "active" ]
437
	then
438
		echo "The service '$i' need to be killed"
439
		/usr/bin/systemctl stop $i.service
440
		killall $i
441
	fi
442
done
2426 richard 443
if [ $mode == "update" ] # reload sshd in case of remote update
2226 richard 444
then
2457 richard 445
	/usr/bin/systemctl reload sshd
2226 richard 446
fi
1502 richard 447
echo "Reset ALCASAR main functions : "
2840 rexy 448
for func in init ACC CA time_server init_db freeradius chilli e2guardian antivirus ulogd nfsen vnstat unbound dnsmasq dhcpd cron fail2ban gammu_smsd msec letsencrypt post_install
2206 richard 449
do
2464 richard 450
	echo -en "\n- $func "
451
	$func
2466 richard 452
	if [ $DEBUG_ALCASAR == "on" ]
453
	then
454
		echo -n " *** 'debug' : end of cleaning '$func' *** "
455
		read a
456
	fi
2206 richard 457
done
2426 richard 458
if [ $mode == "full" ]
2206 richard 459
then
460
	echo -en "\n- network(9) : "
2426 richard 461
	hostnamectl set-hostname localhost.localdomain
2464 richard 462
	chmod a-x /etc/sysconfig/network-scripts/default-*
2206 richard 463
	i=0
2464 richard 464
	for nic in `ls /etc/sysconfig/network-scripts/default-*|cut -d'-' -f4`
1362 richard 465
	do
2206 richard 466
		i=`expr $i + 1`
467
		/sbin/ifdown $nic
2464 richard 468
		[ -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 ($nic), "
1362 richard 469
	done
2432 richard 470
	[ -e /etc/sysconfig/network.default ] && mv -f /etc/sysconfig/network.default /etc/sysconfig/network && echo -n "3, "
471
	[ -e /etc/hosts.default ] && mv -f /etc/hosts.default /etc/hosts && echo -n "4, "
472
	[ -e /etc/hosts.allow.default ] && mv -f /etc/hosts.allow.default /etc/hosts.allow && echo -n "5, "
473
	[ -e /etc/hosts.deny.default ] && mv -f /etc/hosts.deny.default /etc/hosts.deny && echo -n "6, "
474
	[ -e /etc/modprobe.preload.default ] && mv -f /etc/modprobe.preload.default /etc/modprobe.preload && echo -n "7, "
2937 rexy 475
	if [ -e /lib/systemd/system/iptables.service.default ]
476
	then
477
		mv -f /lib/systemd/system/iptables.service.default /lib/systemd/system/iptables.service
478
		echo -n "8, "
479
	else
480
		if [ -e /etc/systemd/system/iptables.service ]
481
		then
482
			rm -f /etc/systemd/system/iptables.service
483
			echo -n "8, "
484
		fi
485
	fi
2432 richard 486
	[ -e /usr/libexec/iptables.init.default ] && mv -f /usr/libexec/iptables.init.default /usr/libexec/iptables.init && echo -n "9"
2457 richard 487
	/usr/bin/systemctl restart network
2206 richard 488
	sleep 1
489
fi
790 richard 490
 
2868 rexy 491
# Reset "skip.list" (we keep "kernel" in order not to download kernel we don't want to have)
492
echo "/^kernel/" > /etc/urpmi/skip.list
493
 
2226 richard 494
# Cleaning (remove all "old" alcasar scripts)
2243 tom.houday 495
echo -en "\n- End of cleaning ...\n"
1923 franck 496
for rm_fic in /usr/local/bin /usr/local/etc /usr/local/sbin
2206 richard 497
do
306 richard 498
	rm -rf $rm_fic/alcasar*
2206 richard 499
done
2457 richard 500
/usr/bin/update-grub2
2458 richard 501
 
502
if [ $mode == "full" ]
503
then
504
	echo -n "Waiting for Network to be up again : "
505
	i=0
506
	while [ $i -lt 10 ] # We wait 10 seconds max
507
	do
508
		echo -n "."
509
		DNS1=`grep ^nameserver /etc/resolv.conf|awk -F" " '{print $2}'|head -n 1`
510
		if [ "$DNS1" != "" ] && [ "$DNS1" != "127.0.0.1" ]
511
		then
512
			i=9
513
			echo -n "ok"
514
		fi
515
		i=`expr $i + 1`
516
		sleep 1
517
	done
518
fi
519
echo