Subversion Repositories ALCASAR

Rev

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

Rev 2956 Rev 2971
Line 1... Line 1...
1
#!/bin/bash
1
#!/bin/bash
2
# $Id: alcasar-uninstall.sh 2956 2021-05-24 19:57:17Z rexy $
2
# $Id: alcasar-uninstall.sh 2971 2021-07-14 15:58:57Z rexy $
3
 
3
 
4
# alcasar-uninstall.sh
4
# alcasar-uninstall.sh
5
# by Franck BOUIJOUX, Pascal LEVANT and Richard REY
5
# by Franck BOUIJOUX, Pascal LEVANT and Richard REY
6
# This script is distributed under the Gnu General Public License (GPL)
6
# This script is distributed under the Gnu General Public License (GPL)
7
 
7
 
Line 86... Line 86...
86
        [ -e /etc/raddb/mods-enabled/$mods ] && rm /etc/raddb/mods-enabled/$mods && echo -n "$i, "
86
        [ -e /etc/raddb/mods-enabled/$mods ] && rm /etc/raddb/mods-enabled/$mods && echo -n "$i, "
87
	done
87
	done
88
	[ -e /etc/raddb/mods-available/sql.default ] && mv /etc/raddb/mods-available/sql.default /etc/raddb/mods-available/sql && echo -n "19, "
88
	[ -e /etc/raddb/mods-available/sql.default ] && mv /etc/raddb/mods-available/sql.default /etc/raddb/mods-available/sql && echo -n "19, "
89
	[ -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, "
89
	[ -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, "
90
	[ -e /etc/raddb/mods-available/sqlcounter.default ] && mv /etc/raddb/mods-available/sqlcounter.default /etc/raddb/mods-available/sqlcounter && echo -n "21, "
90
	[ -e /etc/raddb/mods-available/sqlcounter.default ] && mv /etc/raddb/mods-available/sqlcounter.default /etc/raddb/mods-available/sqlcounter && echo -n "21, "
91
	if [ -e /etc/systemd/system/radiusd.service ]
91
	if [ -e /etc/systemd/system/radiusd.service ]; then
92
		then
-
 
93
		rm -f /etc/systemd/system/radiusd.service
92
		rm -f /etc/systemd/system/radiusd.service
94
		echo -n "22"
93
		echo -n "22"
95
	fi
94
	fi
96
}
95
}
97
 
96
 
Line 107... Line 106...
107
e2guardian ()
106
e2guardian ()
108
{
107
{
109
	echo -en "(15) : "
108
	echo -en "(15) : "
110
	[ -d /var/e2guardian ] && rm -rf /var/e2guardian
109
	[ -d /var/e2guardian ] && rm -rf /var/e2guardian
111
	[ -d /var/dansguardian ] && rm -rf /var/dansguardian
110
	[ -d /var/dansguardian ] && rm -rf /var/dansguardian
112
	if [ -e /etc/systemd/system/e2guardian.service ]
111
	if [ -e /etc/systemd/system/e2guardian.service ]; then
113
	then
-
 
114
		rm -f /etc/systemd/system/e2guardian.service
112
		rm -f /etc/systemd/system/e2guardian.service
115
		echo -n "1, "
113
		echo -n "1, "
116
	fi
114
	fi
117
    [ -e /etc/e2guardian/e2guardian.conf.default ] && mv /etc/e2guardian/e2guardian.conf.default /etc/e2guardian/e2guardian.conf && echo -n "2, "
115
    [ -e /etc/e2guardian/e2guardian.conf.default ] && mv /etc/e2guardian/e2guardian.conf.default /etc/e2guardian/e2guardian.conf && echo -n "2, "
118
	[ -e /etc/e2guardian/lists/bannedphraselist.default ] && mv /etc/e2guardian/lists/bannedphraselist.default /etc/e2guardian/lists/bannedphraselist && echo -n "3, "
116
	[ -e /etc/e2guardian/lists/bannedphraselist.default ] && mv /etc/e2guardian/lists/bannedphraselist.default /etc/e2guardian/lists/bannedphraselist && echo -n "3, "
Line 131... Line 129...
131
}
129
}
132
 
130
 
133
antivirus ()
131
antivirus ()
134
{
132
{
135
	echo -en "(4) : "
133
	echo -en "(4) : "
136
	if [ -e /etc/systemd/system/clamav-daemon.service ]
134
	if [ -e /etc/systemd/system/clamav-daemon.service ]; then
137
	then
-
 
138
		rm -f /etc/systemd/system/clamav-daemon.service
135
		rm -f /etc/systemd/system/clamav-daemon.service
139
		echo -n "1, "
136
		echo -n "1, "
140
	fi
137
	fi
141
	if [ -e /etc/systemd/system/clamav-daemon.socket ]
138
	if [ -e /etc/systemd/system/clamav-daemon.socket ]; then
142
	then
-
 
143
		rm -f /etc/systemd/system/clamav-daemon.socket
139
		rm -f /etc/systemd/system/clamav-daemon.socket
144
		echo -n "2, "
140
		echo -n "2, "
145
	fi
141
	fi
146
	[ -e /etc/clamd.conf.default ] && mv /etc/clamd.conf.default /etc/clamd.conf && echo -n "3, "
142
	[ -e /etc/clamd.conf.default ] && mv /etc/clamd.conf.default /etc/clamd.conf && echo -n "3, "
147
	[ -e /etc/freshclam.conf.default ] && mv /etc/freshclam.conf.default /etc/freshclam.conf && echo -n "4"
143
	[ -e /etc/freshclam.conf.default ] && mv /etc/freshclam.conf.default /etc/freshclam.conf && echo -n "4"
Line 169... Line 165...
169
 
165
 
170
vnstat ()
166
vnstat ()
171
{
167
{
172
	echo -en "(2) : "
168
	echo -en "(2) : "
173
	[ -e /etc/vnstat.conf.default ] && mv /etc/vnstat.conf.default /etc/vnstat.conf && echo -n "1, "
169
	[ -e /etc/vnstat.conf.default ] && mv /etc/vnstat.conf.default /etc/vnstat.conf && echo -n "1, "
174
	if [ -e /etc/systemd/system/vnstat.service ]
170
	if [ -e /etc/systemd/system/vnstat.service ]; then
175
	then
-
 
176
		rm -f /etc/systemd/system/vnstat.service
171
		rm -f /etc/systemd/system/vnstat.service
177
		echo -n "2"
172
		echo -n "2"
178
	fi
173
	fi
179
}
174
}
180
 
175
 
181
dnsmasq ()
176
dnsmasq ()
182
{
177
{
183
	echo -en "(3) : "
178
	echo -en "(3) : "
184
	[ -e /etc/dnsmasq.conf.default ] && mv /etc/dnsmasq.conf.default /etc/dnsmasq.conf && echo -n "1, "
179
	[ -e /etc/dnsmasq.conf.default ] && mv /etc/dnsmasq.conf.default /etc/dnsmasq.conf && echo -n "1, "
185
	[ -e /etc/dnsmasq-whitelist.conf ] && rm /etc/dnsmasq-whitelist.conf && echo -n "2, "
180
	[ -e /etc/dnsmasq-whitelist.conf ] && rm /etc/dnsmasq-whitelist.conf && echo -n "2, "
186
	if [ -e /etc/systemd/system/dnsmasq-whitelist.service ]
181
	if [ -e /etc/systemd/system/dnsmasq-whitelist.service ]; then
187
	then
-
 
188
		rm -f /etc/systemd/system/dnsmasq-whitelist.service
182
		rm -f /etc/systemd/system/dnsmasq-whitelist.service
189
		echo -n "3, "
183
		echo -n "3, "
190
	fi
184
	fi
191
}
185
}
192
 
186
 
Line 206... Line 200...
206
			rm -f /etc/systemd/system/unbound-$list.service
200
			rm -f /etc/systemd/system/unbound-$list.service
207
			echo -n "$i, "
201
			echo -n "$i, "
208
		fi
202
		fi
209
		i=`expr $i + 1`
203
		i=`expr $i + 1`
210
	done
204
	done
211
	if [ -e /etc/systemd/system/unbound.service ]
205
	if [ -e /etc/systemd/system/unbound.service ]; then
212
	then
-
 
213
		rm -f /etc/systemd/system/unbound.service
206
		rm -f /etc/systemd/system/unbound.service
214
		echo -n "9"
207
		echo -n "9"
215
	fi
208
	fi
216
}
209
}
217
 
210
 
Line 249... Line 242...
249
	for jail in `ls /etc/fail2ban/jail.d/*alcasar_* 2>/dev/null`
242
	for jail in `ls /etc/fail2ban/jail.d/*alcasar_* 2>/dev/null`
250
	do
243
	do
251
		i=`expr $i + 1`
244
		i=`expr $i + 1`
252
		rm $jail && echo -n "$i, "
245
		rm $jail && echo -n "$i, "
253
	done
246
	done
254
	if [ -e /etc/systemd/system/fail2ban.service ]
247
	if [ -e /etc/systemd/system/fail2ban.service ]; then
255
	then
-
 
256
		rm -f /etc/systemd/system/fail2ban.service
248
		rm -f /etc/systemd/system/fail2ban.service
257
		echo -n "11"
249
		echo -n "11"
258
	fi
250
	fi
259
}
251
}
260
 
252
 
Line 269... Line 261...
269
}
261
}
270
 
262
 
271
msec ()
263
msec ()
272
{
264
{
273
	echo -en "(2) : "
265
	echo -en "(2) : "
274
	if [ -e /etc/security/msec/security.conf ]
266
	if [ -e /etc/security/msec/security.conf ]; then
275
	then
-
 
276
		[ -e /etc/security/msec/security.conf.default ] && mv /etc/security/msec/security.conf.default /etc/security/msec/security.conf && echo -n "1, "
267
		[ -e /etc/security/msec/security.conf.default ] && mv /etc/security/msec/security.conf.default /etc/security/msec/security.conf && echo -n "1, "
277
		[ -e /etc/security/msec/perm.local ] && rm -f /etc/security/msec/perm.local && echo -n "2"
268
		[ -e /etc/security/msec/perm.local ] && rm -f /etc/security/msec/perm.local && echo -n "2"
-
 
269
	else
278
	else	echo -n "uninstalled"
270
		echo -n "uninstalled"
279
	fi
271
	fi
280
}
272
}
281
 
273
 
282
letsencrypt ()
274
letsencrypt ()
283
{
275
{
Line 302... Line 294...
302
 
294
 
303
usage="Usage: alcasar-uninstall.sh {-update or --update} | {-full or --full}"
295
usage="Usage: alcasar-uninstall.sh {-update or --update} | {-full or --full}"
304
 
296
 
305
nb_args=$#
297
nb_args=$#
306
args=$1
298
args=$1
307
if [ $nb_args -eq 0 ]
299
if [ $nb_args -eq 0 ]; then
308
then
-
 
309
	nb_args=1
300
	nb_args=1
310
	args="-h"
301
	args="-h"
311
fi
302
fi
312
case $args in
303
case $args in
313
	-\? | -h* | --h*)
304
	-\? | -h* | --h*)
Line 325... Line 316...
325
		echo "$usage"
316
		echo "$usage"
326
		exit 1
317
		exit 1
327
		;;
318
		;;
328
esac
319
esac
329
clear
320
clear
330
if [ $mode == "full" ]
321
if [ $mode == "full" ]; then
331
then
-
 
332
	echo "----------------------------------------------------------------------------"
322
	echo "----------------------------------------------------------------------------"
333
	echo "**                     Uninstall/Désinstallation d'ALCASAR		**"
323
	echo "**                     Uninstall/Désinstallation d'ALCASAR		**"
334
	echo "----------------------------------------------------------------------------"
324
	echo "----------------------------------------------------------------------------"
335
	services="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"
325
	services="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"
336
	/usr/local/bin/alcasar-logout.sh all # logout everybody
326
	/usr/local/bin/alcasar-logout.sh all # logout everybody
Line 348... Line 338...
348
[ -e /etc/cron.d/alcasar-daemon-watchdog ] && rm -f /etc/cron.d/alcasar-daemon-watchdog
338
[ -e /etc/cron.d/alcasar-daemon-watchdog ] && rm -f /etc/cron.d/alcasar-daemon-watchdog
349
/usr/local/bin/alcasar-sms.sh --stop
339
/usr/local/bin/alcasar-sms.sh --stop
350
for i in $services
340
for i in $services
351
do
341
do
352
	service_exist=`systemctl list-unit-files | grep ^$i.service | wc -l`
342
	service_exist=`systemctl list-unit-files | grep ^$i.service | wc -l`
353
	if [ $service_exist -eq 1 ]
343
	if [ $service_exist -eq 1 ]; then
354
	then
-
 
355
		/usr/bin/systemctl disable $i.service
344
		/usr/bin/systemctl disable $i.service
356
		/usr/bin/systemctl stop $i.service 1>/dev/null
345
		/usr/bin/systemctl stop $i.service 1>/dev/null
357
		sleep 1
346
		sleep 1
358
	else
347
	else
359
		echo "The service $i.service doesn't exist !"
348
		echo "The service $i.service doesn't exist !"
360
	fi
349
	fi
361
done
350
done
362
echo "Check the service clearing"
351
echo "Check the service clearing"
363
for i in $services
352
for i in $services
364
do
353
do
365
	if [ `systemctl is-active $i.service` == "active" ]
354
	if [ `systemctl is-active $i.service` == "active" ]; then
366
	then
-
 
367
		echo "The service '$i' need to be killed"
355
		echo "The service '$i' need to be killed"
368
		/usr/bin/systemctl stop $i.service
356
		/usr/bin/systemctl stop $i.service
369
		killall $i
357
		killall $i
370
	fi
358
	fi
371
done
359
done
372
if [ $mode == "update" ] # reload sshd in case of remote update
-
 
373
then
360
 
374
	/usr/bin/systemctl reload sshd
361
[ $mode == "update" ] && /usr/bin/systemctl reload sshd # reload sshd in case of remote update
375
fi
362
 
376
echo "Reset ALCASAR main functions : "
363
echo "Reset ALCASAR main functions : "
377
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
364
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
378
do
365
do
379
	echo -en "\n- $func "
366
	echo -en "\n- $func "
380
	$func
367
	$func
381
	if [ $DEBUG_ALCASAR == "on" ]
368
	if [ $DEBUG_ALCASAR == "on" ]; then
382
	then
-
 
383
		echo -n " *** 'debug' : end of cleaning '$func' *** "
369
		echo -n " *** 'debug' : end of cleaning '$func' *** "
384
		read a
370
		read a
385
	fi
371
	fi
386
done
372
done
387
if [ $mode == "full" ]
373
if [ $mode == "full" ]; then
388
then
-
 
389
	echo -en "\n- network(10) : "
374
	echo -en "\n- network(10) : "
390
	hostnamectl set-hostname localhost.localdomain
375
	hostnamectl set-hostname localhost.localdomain
391
	chmod a-x /etc/sysconfig/network-scripts/default-*
376
	chmod a-x /etc/sysconfig/network-scripts/default-*
392
	i=0
377
	i=0
393
	for nic in `ls /etc/sysconfig/network-scripts/default-*|cut -d'-' -f4`
378
	for nic in `ls /etc/sysconfig/network-scripts/default-*|cut -d'-' -f4`
Line 399... Line 384...
399
	[ -e /etc/sysconfig/network.default ] && mv -f /etc/sysconfig/network.default /etc/sysconfig/network && echo -n "3, "
384
	[ -e /etc/sysconfig/network.default ] && mv -f /etc/sysconfig/network.default /etc/sysconfig/network && echo -n "3, "
400
	[ -e /etc/hosts.default ] && mv -f /etc/hosts.default /etc/hosts && echo -n "4, "
385
	[ -e /etc/hosts.default ] && mv -f /etc/hosts.default /etc/hosts && echo -n "4, "
401
	[ -e /etc/hosts.allow.default ] && mv -f /etc/hosts.allow.default /etc/hosts.allow && echo -n "5, "
386
	[ -e /etc/hosts.allow.default ] && mv -f /etc/hosts.allow.default /etc/hosts.allow && echo -n "5, "
402
	[ -e /etc/hosts.deny.default ] && mv -f /etc/hosts.deny.default /etc/hosts.deny && echo -n "6, "
387
	[ -e /etc/hosts.deny.default ] && mv -f /etc/hosts.deny.default /etc/hosts.deny && echo -n "6, "
403
	[ -e /etc/modprobe.preload.default ] && mv -f /etc/modprobe.preload.default /etc/modprobe.preload && echo -n "7, "
388
	[ -e /etc/modprobe.preload.default ] && mv -f /etc/modprobe.preload.default /etc/modprobe.preload && echo -n "7, "
404
	if [ -e /etc/systemd/system/alcasar-network.service ]
389
	if [ -e /etc/systemd/system/alcasar-network.service ]; then
405
-	then
-
 
406
-		rm -f /etc/systemd/system/alcasar-network.service
390
		rm -f /etc/systemd/system/alcasar-network.service
407
-		echo -n "8, "
391
		echo -n "8, "
408
-	fi
392
	fi
409
	if [ -e /etc/systemd/system/iptables.service ]
393
	if [ -e /etc/systemd/system/iptables.service ]; then
410
	then
-
 
411
		rm -f /etc/systemd/system/iptables.service
394
		rm -f /etc/systemd/system/iptables.service
412
		echo -n "9, "
395
		echo -n "9, "
413
	fi
396
	fi
414
	[ -e /usr/libexec/iptables.init.default ] && mv -f /usr/libexec/iptables.init.default /usr/libexec/iptables.init && echo -n "10"
397
	[ -e /usr/libexec/iptables.init.default ] && mv -f /usr/libexec/iptables.init.default /usr/libexec/iptables.init && echo -n "10"
415
	/usr/bin/systemctl restart network
398
	/usr/bin/systemctl restart network
416
	sleep 1
399
	sleep 1
417
fi
400
fi
418
 
401
 
419
# Reset "skip.list" (we keep "kernel" in order not to download kernel we don't want to have)
402
# Reset "skip.list" (we keep "kernel" in order not to download kernel we don't want to have)
420
echo "/^kernel/" > /etc/urpmi/skip.list
403
echo "/^kernel/" > /etc/urpmi/skip.list
-
 
404
if [ `egrep '^exclude=' /etc/dnf/dnf.conf |wc -l` -eq "1" ]; then
-
 
405
	$SED "s?^exclude=.*?exclude=kernel\*?g" /etc/dnf/dnf.conf
-
 
406
else
421
$SED "/^exclude/d" /etc/dnf/dnf.conf
407
	echo "exclude=kernel*" >> /etc/dnf/dnf.conf
422
 
408
fi
423
# Cleaning (remove all "old" alcasar scripts)
409
# Cleaning (remove all "old" alcasar scripts)
424
echo -en "\n- End of cleaning ...\n"
410
echo -en "\n- End of cleaning ...\n"
425
for rm_fic in /usr/local/bin /usr/local/etc /usr/local/sbin
411
for rm_fic in /usr/local/bin /usr/local/etc /usr/local/sbin
426
do
412
do
427
	rm -rf $rm_fic/alcasar*
413
	rm -rf $rm_fic/alcasar*
428
done
414
done
429
/usr/bin/update-grub2
415
/usr/bin/update-grub2
430
 
416
 
431
if [ $mode == "full" ]
417
if [ $mode == "full" ]; then
432
then
-
 
433
	echo -n "Waiting for Network to be up again : "
418
	echo -n "Waiting for Network to be up again : "
434
	i=0
419
	i=0
435
	while [ $i -lt 10 ] # We wait 10 seconds max
420
	while [ $i -lt 10 ] # We wait 10 seconds max
436
	do
421
	do
437
		echo -n "."
422
		echo -n "."
438
		DNS1=`grep ^nameserver /etc/resolv.conf|awk -F" " '{print $2}'|head -n 1`
423
		DNS1=`grep ^nameserver /etc/resolv.conf|awk -F" " '{print $2}'|head -n 1`
439
		if [ "$DNS1" != "" ] && [ "$DNS1" != "127.0.0.1" ]
424
		if [ "$DNS1" != "" ] && [ "$DNS1" != "127.0.0.1" ]; then
440
		then
-
 
441
			i=9
425
			i=9
442
			echo -n "ok"
426
			echo -n "ok"
443
		fi
427
		fi
444
		i=`expr $i + 1`
428
		i=`expr $i + 1`
445
		sleep 1
429
		sleep 1