Subversion Repositories ALCASAR

Rev

Rev 2206 | Rev 2212 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log

Rev Author Line No. Line
1916 franck 1
 
672 richard 2
#!/bin/bash
62 franck 3
# $Id: alcasar-uninstall.sh 2211 2017-05-08 16:39:43Z richard $
4
 
1 root 5
# alcasar-uninstall.sh
672 richard 6
# by Franck BOUIJOUX, Pascal LEVANT and Richard REY
1 root 7
# This script is distributed under the Gnu General Public License (GPL)
518 stephane 8
 
2206 richard 9
# Désisntallation ou mise à jour d'ALCASAR
10
# Uninstall or update ALCASAR
672 richard 11
 
2206 richard 12
usage="Usage: alcasar-uninstall.sh {-update or --update} | {-full or --full}"
88 richard 13
SED="/bin/sed -i"
2206 richard 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
 
1 root 40
clear
2206 richard 41
if [ $mode == "full" ]
42
then
43
        echo "----------------------------------------------------------------------------"
44
        echo "**                     Uninstall/Désinstallation d'ALCASAR               **"
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
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"
54
        /usr/local/bin/alcasar-bypass.sh -on # to allow remote update
55
fi
1673 richard 56
echo "Stopping service : "
1800 richard 57
/usr/local/bin/alcasar-sms.sh --stop
2206 richard 58
for i in $services
1211 crox53 59
do
1800 richard 60
        if [ -e /lib/systemd/system/$i.service ]
61
        then
62
                /usr/bin/systemctl disable $i.service
63
                /usr/bin/systemctl stop $i.service 1>/dev/null
64
                sleep 1
65
        else
66
                echo "The service $i.service doesn't exist !"
67
        fi
1211 crox53 68
done
1673 richard 69
echo "Check the service clearing"
2206 richard 70
for i in $services
1673 richard 71
do
72
        if [ `systemctl is-active $i.service` == "active" ]
73
        then
74
                echo "The service '$i' need to be killed"
75
                /usr/bin/systemctl stop $i.service
76
                killall $i
77
        fi
78
done
1502 richard 79
echo "Reset ALCASAR main functions : "
287 richard 80
echo -en "\n- init(1) : "
2206 richard 81
# The files in /usr/local/ will be removed at the end (usefull here)
498 richard 82
rm -f /root/ALCASAR* && echo -n "1"
1 root 83
sleep 1
287 richard 84
 
1833 richard 85
echo -en "\n- ACC(11) : "
1 root 86
[ -d /var/www/html ] && rm -rf /var/www/html && echo -n "1, "
1833 richard 87
[ -d /etc/freeradius-web ] && rm -rf /etc/freeradius-webl && echo -n "2, "
1893 richard 88
[ -e /etc/php.ini.default ] && mv /etc/php.ini.default /etc/php.ini && echo -n "3, "
89
[ -e /etc/httpd/conf/httpd.conf.default ] && mv /etc/httpd/conf/httpd.conf.default /etc/httpd/conf/httpd.conf && echo -n "4, "
90
[ -e /etc/httpd/conf/modules.d/00_base.conf.default ] && mv /etc/httpd/conf/modules.d/00_base.conf.default /etc/httpd/conf/modules.d/00_base.conf && echo -n "5, "
91
[ -e /etc/httpd/conf/conf.d/ssl.conf.default ] && mv /etc/httpd/conf/conf.d/ssl.conf.default /etc/httpd/conf/conf.d/ssl.conf && echo -n "6, "
92
[ -e /etc/httpd/conf/conf.d/multilang-errordoc.conf.default ] && mv /etc/httpd/conf/conf.d/multilang-errordoc.conf.default /etc/httpd/conf/conf.d/multilang-errordoc.conf && echo -n "7, "
93
[ -e /usr/share/httpd/error/include/top.html.default ] && mv /usr/share/httpd/error/include/top.html.default /usr/share/httpd/error/include/top.html && echo -n "8, "
94
[ -e /usr/share/httpd/error/include/bottom.html.default ] && mv /usr/share/httpd/error/include/bottom.html.default /usr/share/httpd/error/include/top.html && echo -n "9, "
95
[ -d /usr/local/etc/digest ] && rm -rf /usr/local/etc/digest && echo -n "10, "
96
[ -e /etc/httpd/conf/webapps.d/alcasar.conf ] && rm -f /etc/httpd/conf/webapps.d/alcasar.conf && echo -n "11"
1 root 97
sleep 1
287 richard 98
 
1893 richard 99
echo -en "\n- CA(5) : "
1 root 100
[ -e /etc/pki/CA/alcasar-ca.crt ] && rm -f /etc/pki/CA/alcasar-ca.crt && echo -n "1, "
101
[ -e /etc/pki/CA/private/alcasar-ca.key ] && rm -f /etc/pki/CA/private/alcasar-ca.key && echo -n "2, "
102
[ -e /etc/pki/tls/certs/alcasar.crt ] && rm -f /etc/pki/tls/certs/alcasar.crt && echo -n "3, "
1893 richard 103
[ -e /etc/pki/tls/private/alcasar.key ] && rm -f /etc/pki/tls/private/alcasar.key && echo -n "4, "
104
[ -e /etc/httpd/conf/vhosts-ssl.default ] && FIC_VIRTUAL_SSL=`find /etc/httpd/conf -type f -name *default_ssl_vhost.conf` && mv /etc/httpd/conf/vhosts-ssl.default $FIC_VIRTUAL_SSL && echo -n "5"
1 root 105
sleep 1
287 richard 106
 
1893 richard 107
echo -en "\n- time_server(2) : "
1898 richard 108
[ -e /etc/ntp/step-tickers.default ] && mv /etc/ntp/step-tickers.default /etc/ntp/step-tickers && echo -n "1, "
1893 richard 109
[ -e /etc/ntp.conf.default ] && mv /etc/ntp.conf.default /etc/ntp.conf && echo -n "2"
110
 
615 richard 111
echo -en "\n- init_db(2) : "
112
[ -e /etc/my.cnf.default ] && mv -f /etc/my.cnf.default /etc/my.cnf && echo -n "1, "
1357 richard 113
[ -e /lib/systemd/system/mysqld.service.default ] && mv -f /lib/systemd/system/mysqld.service.default /lib/systemd/system/mysqld.service && echo -n "2"
1574 richard 114
/usr/bin/systemctl daemon-reload
1355 richard 115
rm -rf /var/lib/mysql
1 root 116
sleep 1
287 richard 117
 
1388 richard 118
echo -en "\n- radius(9) : "
1898 richard 119
[ -e /etc/raddb/empty-radiusd-db.sql ] && rm -f /etc/raddb/empty-radiusd-db.sql && echo -n "1, "
1 root 120
[ -e /etc/raddb/radiusd.conf.default ] && mv /etc/raddb/radiusd.conf.default /etc/raddb/radiusd.conf && echo -n "2, "
121
[ -e /etc/raddb/sites-enabled/alcasar ] && rm /etc/raddb/sites-enabled/alcasar && echo -n "3, "
122
[ -e /etc/raddb/sites-available/alcasar ] && rm /etc/raddb/sites-available/alcasar && echo -n "4, "
123
[ -e /etc/raddb/clients.conf.default ] && mv /etc/raddb/clients.conf.default /etc/raddb/clients.conf && echo -n "5, "
124
[ -e /etc/raddb/sql.conf.default ] && mv /etc/raddb/sql.conf.default /etc/raddb/sql.conf && echo -n "6, "
1278 richard 125
[ -e /etc/raddb/sql/mysql/dialup.conf.default ] && mv /etc/raddb/sql/mysql/dialup.conf.default /etc/raddb/sql/mysql/dialup.conf && echo -n "7, "
1358 richard 126
[ -e /etc/raddb/sql/mysql/counter.conf.default ] && mv /etc/raddb/sql/mysql/counter.conf.default /etc/raddb/sql/mysql/counter.conf && echo -n "8, "
127
[ -e /lib/systemd/system/radiusd.service.default ] && mv /lib/systemd/system/radiusd.service.default /lib/systemd/system/radiusd.service && echo -n "9"
1 root 128
sleep 1
287 richard 129
 
1388 richard 130
echo -en "\n- chilli(4) : "
1373 richard 131
[ -e /etc/init.d/chilli.default ] && mv /etc/init.d/chilli.default /etc/init.d/chilli && echo -n "1, "
132
[ -e /usr/libexec/chilli ] && rm /usr/libexec/chilli && echo -n "2, "
133
[ -e /etc/chilli.conf.default ] && mv /etc/chilli.conf.default /etc/chilli.conf && echo -n "3, "
1376 richard 134
[ -e /lib/systemd/system/chilli.service ] && rm /lib/systemd/system/chilli.service && echo -n "4"
1 root 135
sleep 1
287 richard 136
 
1388 richard 137
echo -en "\n- dansguardian(8) : "
315 richard 138
[ -d /var/dansguardian ] && rm -rf /var/dansguardian && echo -n "1, "
139
[ -e /etc/dansguardian/dansguardian.conf.default ] && mv /etc/dansguardian/dansguardian.conf.default /etc/dansguardian/dansguardian.conf && echo -n "2, "
140
[ -e /etc/dansguardian/lists/bannedphraselist.default ] && mv /etc/dansguardian/lists/bannedphraselist.default /etc/dansguardian/lists/bannedphraselist && echo -n "3, "
141
[ -e /etc/dansguardian/dansguardianf1.conf.default ] && mv /etc/dansguardian/dansguardianf1.conf.default /etc/dansguardian/dansguardianf1.conf && echo -n "4, "
142
[ -e /etc/dansguardian/lists/bannedextensionlist.default ] && mv /etc/dansguardian/lists/bannedextensionlist.default /etc/dansguardian/lists/bannedextensionlist && echo -n "5, "
143
[ -e /etc/dansguardian/lists/bannedmimetypelist.default ] && mv /etc/dansguardian/lists/bannedmimetypelist.default /etc/dansguardian/lists/bannedmimetypelist && echo -n "6, "
144
[ -e /etc/dansguardian/lists/exceptioniplist.default ] && mv /etc/dansguardian/lists/exceptioniplist.default /etc/dansguardian/lists/exceptioniplist && echo -n "7, "
145
[ -e /etc/dansguardian/lists/bannedsitelist.default ] && mv /etc/dansguardian/lists/bannedsitelist.default /etc/dansguardian/lists/bannedsitelist && echo -n "8"
1 root 146
sleep 1
287 richard 147
 
1547 richard 148
echo -en "\n- antivirus(5) : "
294 richard 149
if [ -e /etc/init.d/havp ]
2206 richard 150
then
796 richard 151
        [ -e /etc/havp/havp.config.default ] && mv /etc/havp/havp.config.default /etc/havp/havp.config && echo -n "1, "
1486 richard 152
        userdel -r havp 2>/dev/null && echo -n "2, "
153
        [ -e /etc/init.d/havp.default ] && mv /etc/init.d/havp.default /etc/init.d/havp && echo -n "3, "
1547 richard 154
        [ -e /lib/systemd/system/havp.service.default ] && mv /lib/systemd/system/havp.service.default /lib/systemd/system/havp.service && echo -n "4, "
155
        [ -e /etc/freshclam.conf.default ] && mv /etc/freshclam.conf.default /etc/freshclam.conf && echo -n "5"
534 richard 156
else    echo -n "uninstalled"
88 richard 157
fi
71 richard 158
sleep 1
534 richard 159
 
1486 richard 160
echo -en "\n- tinyproxy(2) : "
161
if [ -e /etc/init.d/tinyproxy ]
2206 richard 162
then
1521 richard 163
        [ -e /etc/tinyproxy/tinyproxy.conf.default ] && mv /etc/tinyproxy/tinyproxy.conf.default /etc/tinyproxy/tinyproxy.conf && echo -n "1, "
1515 richard 164
        userdel -r tinyproxy 2>/dev/null && echo -n "2"
1486 richard 165
else    echo -n "uninstalled"
166
fi
167
sleep 1
168
 
1365 richard 169
echo -en "\n- ulogd(6) : "
1376 richard 170
i=0
171
for log_type in traceability ssh ext-access
2206 richard 172
do
173
        i=`expr $i + 1`
174
        [ -e /etc/ulogd-$log_type.conf ] && rm -f /etc/ulogd-$log_type.conf && echo -n "$i, "
175
        i=`expr $i + 1`
176
        [ -e /lib/systemd/system/ulogd-$log_type.service ] && rm -f /lib/systemd/system/ulogd-$log_type.service && echo -n "$i, "
177
done
476 richard 178
sleep 1
179
 
1567 richard 180
echo -en "\n- nfsen(1) : "
181
[ -e /lib/systemd/system/nfsen.service ] && rm -f /lib/systemd/system/nfsen.service && echo -n "1"
1157 stephane 182
sleep 1
183
 
1541 richard 184
echo -en "\n- vnstat(1) : "
185
[ -e /etc/vnstat.conf.default ] && mv /etc/vnstat.conf.default /etc/vnstat.conf && echo -n "1"
186
sleep 1
187
 
1514 richard 188
echo -en "\n- dnsmasq(9) : "
1357 richard 189
if [ -e /lib/systemd/system/dnsmasq.service ]
88 richard 190
then
1393 richard 191
        [ -e /etc/sysconfig/dnsmasq.default ] && mv /etc/sysconfig/dnsmasq.default /etc/sysconfig/dnsmasq && echo -n "1, "
1357 richard 192
        [ -e /etc/dnsmasq.conf.default ] && mv /etc/dnsmasq.conf.default /etc/dnsmasq.conf && echo -n "2, "
1547 richard 193
        [ -e /lib/systemd/system/dnsmasq.service.default ] && mv /lib/systemd/system/dnsmasq.service.default /lib/systemd/system/dnsmasq.service && echo -n "3, "
1514 richard 194
        i=3
1474 richard 195
        for list in blacklist whitelist blackhole
196
        do
197
                i=`expr $i + 1`
198
                [ -e /etc/dnsmasq-$list.conf ] && rm /etc/dnsmasq-$list.conf && echo -n "$i, "
199
                i=`expr $i + 1`
200
                [ -e /lib/systemd/system/dnsmasq-$list.service ] && rm /lib/systemd/system/dnsmasq-$list.service && echo -n "$i, "
201
        done
534 richard 202
else echo -n "uninstalled"
88 richard 203
fi
1 root 204
sleep 1
287 richard 205
 
1513 richard 206
echo -en "\n- BL(0) : "
1384 richard 207
sleep 1
1358 richard 208
 
1530 richard 209
echo -en "\n- fail2ban(8) : "
1388 richard 210
[ -e /etc/fail2ban/fail2ban.conf.default ] && mv /etc/fail2ban/fail2ban.conf.default /etc/fail2ban/fail2ban.conf && echo -n "1, "
211
[ -e /etc/fail2ban/jail.conf.default ] && mv /etc/fail2ban/jail.conf.default /etc/fail2ban/jail.conf && echo -n "2, "
1393 richard 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, "
1388 richard 213
[ -e /etc/fail2ban/filter.d/alcasar_mod-evasive.conf ] && rm /etc/fail2ban/filter.d/alcasar_mod-evasive.conf && echo -n "4, "
214
[ -e /etc/fail2ban/filter.d/alcasar_htdigest.conf ] && rm /etc/fail2ban/filter.d/alcasar_htdigest.conf && echo -n "5, "
215
[ -e /etc/fail2ban/filter.d/alcasar_intercept.conf ] && rm /etc/fail2ban/filter.d/alcasar_intercept.conf && echo -n "6, "
1515 richard 216
[ -e /etc/fail2ban/filter.d/alcasar_change-pwd.conf ] && rm /etc/fail2ban/filter.d/alcasar_change-pwd.conf && echo -n "7, "
217
[ -e /lib/systemd/system/fail2ban.service.default ] && mv /lib/systemd/system/fail2ban.service.default /lib/systemd/system/fail2ban.service && echo -n "8"
1388 richard 218
sleep 1
219
 
1914 richard 220
echo -en "\n- cron(10) : "
1 root 221
[ -e /etc/crontab.default ] && mv /etc/crontab.default /etc/crontab && echo -n "1, "
222
[ -e /etc/anacrontab.default ] && mv /etc/anacrontab.default /etc/anacrontab && echo -n "2, "
796 richard 223
[ -e /etc/cron.d/alcasar-mysql ] && rm -f /etc/cron.d/alcasar-mysql && echo -n "3, "
1474 richard 224
[ -e /etc/cron.d/alcasar-archive ] && rm -f /etc/cron.d/alcasar-archive && echo -n "4, "
1914 richard 225
[ -e /etc/cron.d/alcasar-ticket-clean ] && rm -f /etc/cron.d/alcasar-ticket-clean && echo -n "5, "
1474 richard 226
[ -e /etc/cron.d/alcasar-distrib-updates ] && rm -f /etc/cron.d/alcasar-distrib-updates && echo -n "6, "
1914 richard 227
[ -e /etc/cron.d/alcasar-connections-stats ] && rm -f /etc/cron.d/alcasar-connections-stats && echo -n "7, "
1474 richard 228
[ -e /etc/cron.d/alcasar-watchdog ] && rm -f /etc/cron.d/alcasar-watchdog && echo -n "8, "
1914 richard 229
[ -e /etc/cron.d/alcasar-daemon-watchdog ] && rm -f /etc/cron.d/alcasar-daemon-watchdog && echo -n "9,"
230
[ -e /etc/cron.d/alcasar-rsync-bl ] && rm -f /etc/cron.d/alcasar-rsync-bl && echo -n "10,"
1 root 231
sleep 1
287 richard 232
 
1393 richard 233
echo -en "\n- gammu-smsd(3) : "
1384 richard 234
[ -e /etc/gammu_smsd_conf ] && rm -f /etc/gammu_smsd_conf && echo -n "1, "
235
[ -e /etc/udev/rules.d/66-huawei.rules ] && rm -f /etc/udev/rules.d/66-huawei.rules && echo -n "2, "
1391 richard 236
[ -e /var/log/gammu-smsd ] && rm -rf /var/log/gammu-smsd && echo -n "3"
1388 richard 237
sleep 1
1384 richard 238
 
2211 richard 239
echo -en "\n- msec(2) : "
240
[ -e /etc/security/msec/security.conf.default ] && mv /etc/security/msec/security.conf.default /etc/security/msec/security.conf && echo -n "1, "
241
[ -e /etc/security/msec/perm.local ] && rm -f /etc/security/msec/perm.local && echo -n "2"
242
sleep 1
243
 
2206 richard 244
if [ mode == "full " ]
245
then
246
        echo -en "\n- network(9) : "
247
        hostname localhost
248
        CONF_FILE="/usr/local/etc/alcasar.conf"
249
        EXTIF=`grep ^EXTIF= $CONF_FILE|cut -d"=" -f2`           # EXTernal InterFace
250
        INTIF=`grep ^INTIF= $CONF_FILE|cut -d"=" -f2`           # INTernal InterFace
251
        i=0
252
        for nic in $EXTIF $INTIF
1362 richard 253
        do
2206 richard 254
                i=`expr $i + 1`
255
                /sbin/ifdown $nic
256
                [ -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, "
1362 richard 257
        done
2206 richard 258
        [ -e /etc/sysconfig/network.default ] && mv /etc/sysconfig/network.default /etc/sysconfig/network && echo -n "3, "
259
        [ -e /etc/hosts.default ] && mv /etc/hosts.default /etc/hosts && echo -n "4, "
260
        [ -e /etc/hosts.allow.default ] && mv /etc/hosts.allow.default /etc/hosts.allow && echo -n "5, "
261
        [ -e /etc/hosts.deny.default ] && mv /etc/hosts.deny.default /etc/hosts.deny && echo -n "6, "
262
        [ -e /etc/modprobe.preload.default ] && mv /etc/modprobe.preload.default /etc/modprobe.preload && echo -n "7, "
263
        [ -e /lib/systemd/system/iptables.service.default ] && mv /lib/systemd/system/iptables.service.default /lib/systemd/system/iptables.service && echo -n "8, "
264
        [ -e /usr/libexec/iptables.init.default ] && mv /usr/libexec/iptables.init.default /usr/libexec/iptables.init && echo -n "9"
265
        /sbin/ifup $EXTIF
266
        sleep 1
267
fi
790 richard 268
 
1 root 269
#post_install
1546 richard 270
echo -en "\n- post_install(6) : "
1007 richard 271
[ -e /etc/mageia-release.default ] && mv /etc/mageia-release.default /etc/mageia-release && echo -n "1, "
1 root 272
[ -e /etc/ssh/alcasar-banner-ssh ] && rm -f /etc/ssh/alcasar-banner-ssh && echo -n "2, "
273
[ -e /etc/ssh/sshd_config.default ] && mv /etc/ssh/sshd_config.default /etc/ssh/sshd_config && echo -n "3, "
274
[ -e /etc/bashrc.default ] && mv /etc/bashrc.default /etc/bashrc && echo -n "4, "
275
[ -e /etc/sudoers.default ] && mv /etc/sudoers.default /etc/sudoers && echo -n "5, "
1546 richard 276
[ -e /lib/systemd/system/alcasar-load_balancing.service ] && rm -f /lib/systemd/system/alcasar-load_balancing.service && echo -n "6"
1 root 277
sleep 1
287 richard 278
 
2192 richard 279
# nettoyage (on retire les services supprimés ou remplacés dans la nouvelle version)
534 richard 280
echo -en "\n- cleaning() : "
1923 franck 281
for rm_fic in /usr/local/bin /usr/local/etc /usr/local/sbin
2206 richard 282
do
306 richard 283
        rm -rf $rm_fic/alcasar*
2206 richard 284
done
1 root 285
echo
833 franck 286