Subversion Repositories ALCASAR

Rev

Rev 2689 | Rev 2732 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 2689 Rev 2728
1
#!/bin/bash
1
#!/bin/bash
2
# $Id: alcasar-uninstall.sh 2689 2019-01-20 10:50:15Z lucas.echard $
2
# $Id: alcasar-uninstall.sh 2728 2019-05-20 20:55:06Z 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
 
8
# Désisntallation ou mise à jour d'ALCASAR
8
# Désisntallation ou mise à jour d'ALCASAR
9
# Uninstall or update ALCASAR
9
# Uninstall or update ALCASAR
10
 
10
 
11
SED="/bin/sed -i"
11
SED="/bin/sed -i"
12
 
12
 
13
[ -z $DEBUG_ALCASAR ] && DEBUG_ALCASAR='off'
13
[ -z $DEBUG_ALCASAR ] && DEBUG_ALCASAR='off'
14
 
14
 
15
init ()
15
init ()
16
{
16
{
17
	echo -en "(3) : "
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)
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, "
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"
20
	[ -e /root/grub.default ] && mv -f /root/grub.default /etc/grub.d/10_linux && echo -n "3"
21
}
21
}
22
 
22
 
23
ACC ()
23
ACC ()
24
{
24
{
25
	echo -en "(8) : "
25
	echo -en "(8) : "
26
	[ -d /var/www/html ] && rm -rf /var/www/html && echo -n "1, "
26
	[ -d /var/www/html ] && rm -rf /var/www/html && echo -n "1, "
27
	[ -d /etc/freeradius-web ] && rm -rf /etc/freeradius-webl && echo -n "2, "
27
	[ -d /etc/freeradius-web ] && rm -rf /etc/freeradius-webl && echo -n "2, "
28
	[ -e /etc/php.ini.default ] && mv -f /etc/php.ini.default /etc/php.ini && echo -n "3, "
28
	[ -e /etc/php.ini.default ] && mv -f /etc/php.ini.default /etc/php.ini && echo -n "3, "
29
	[ -d /usr/local/etc/digest ] && rm -rf /usr/local/etc/digest && echo -n "4, "
29
	[ -d /usr/local/etc/digest ] && rm -rf /usr/local/etc/digest && echo -n "4, "
30
	[ -e /etc/lighttpd/lighttpd.conf.default ] && mv /etc/lighttpd/lighttpd.conf.default /etc/lighttpd/lighttpd.conf && echo -n "5, "
30
	[ -e /etc/lighttpd/lighttpd.conf.default ] && mv /etc/lighttpd/lighttpd.conf.default /etc/lighttpd/lighttpd.conf && echo -n "5, "
31
	[ -e /etc/lighttpd/modules.conf.default ] && mv /etc/lighttpd/modules.conf.default /etc/lighttpd/modules.conf && echo -n "6, "
31
	[ -e /etc/lighttpd/modules.conf.default ] && mv /etc/lighttpd/modules.conf.default /etc/lighttpd/modules.conf && echo -n "6, "
32
	[ -e /etc/lighttpd/conf.d/fastcgi.conf.default ] && mv /etc/lighttpd/conf.d/fastcgi.conf.default /etc/lighttpd/conf.d/fastcgi.conf && echo -n "7, "
32
	[ -e /etc/lighttpd/conf.d/fastcgi.conf.default ] && mv /etc/lighttpd/conf.d/fastcgi.conf.default /etc/lighttpd/conf.d/fastcgi.conf && echo -n "7, "
33
	[ -e /etc/lighttpd/vhosts.d/alcasar.conf ] && rm -f /etc/lighttpd/vhosts.d/alcasar.conf && echo -n "8"
33
	[ -e /etc/lighttpd/vhosts.d/alcasar.conf ] && rm -f /etc/lighttpd/vhosts.d/alcasar.conf && echo -n "8"
34
}
34
}
35
 
35
 
36
CA ()
36
CA ()
37
{
37
{
38
	echo -en "(5) : "
38
	echo -en "(5) : "
39
	[ -e /etc/pki/CA/alcasar-ca.crt ] && rm -f /etc/pki/CA/alcasar-ca.crt && echo -n "1, "
39
	[ -e /etc/pki/CA/alcasar-ca.crt ] && rm -f /etc/pki/CA/alcasar-ca.crt && echo -n "1, "
40
	[ -e /etc/pki/CA/private/alcasar-ca.key ] && rm -f /etc/pki/CA/private/alcasar-ca.key && echo -n "2, "
40
	[ -e /etc/pki/CA/private/alcasar-ca.key ] && rm -f /etc/pki/CA/private/alcasar-ca.key && echo -n "2, "
41
	[ -e /etc/pki/tls/certs/alcasar.crt ] && rm -f /etc/pki/tls/certs/alcasar.crt && echo -n "3, "
41
	[ -e /etc/pki/tls/certs/alcasar.crt ] && rm -f /etc/pki/tls/certs/alcasar.crt && echo -n "3, "
42
	[ -e /etc/pki/tls/private/alcasar.key ] && rm -f /etc/pki/tls/private/alcasar.key && echo -n "4, "
42
	[ -e /etc/pki/tls/private/alcasar.key ] && rm -f /etc/pki/tls/private/alcasar.key && echo -n "4, "
43
	[ -e /etc/pki/tls/private/alcasar.pem ] && rm -f /etc/pki/tls/private/alcasar.pem && echo -n "5"
43
	[ -e /etc/pki/tls/private/alcasar.pem ] && rm -f /etc/pki/tls/private/alcasar.pem && echo -n "5"
44
}
44
}
45
 
45
 
46
time_server ()
46
time_server ()
47
{
47
{
48
	echo -en "(2) : "
48
	echo -en "(2) : "
49
	[ -e /etc/ntp/step-tickers.default ] && mv /etc/ntp/step-tickers.default /etc/ntp/step-tickers && echo -n "1, "
49
	[ -e /etc/ntp/step-tickers.default ] && mv /etc/ntp/step-tickers.default /etc/ntp/step-tickers && echo -n "1, "
50
	[ -e /etc/ntp.conf.default ] && mv /etc/ntp.conf.default /etc/ntp.conf && echo -n "2"
50
	[ -e /etc/ntp.conf.default ] && mv /etc/ntp.conf.default /etc/ntp.conf && echo -n "2"
51
}
51
}
52
 
52
 
53
init_db ()
53
init_db ()
54
{
54
{
55
	echo -en "(2) : "
55
	echo -en "(2) : "
56
	[ -e /etc/my.cnf.default ] && mv -f /etc/my.cnf.default /etc/my.cnf && echo -n "1, "
56
	[ -e /etc/my.cnf.default ] && mv -f /etc/my.cnf.default /etc/my.cnf && echo -n "1, "
57
	[ -e /lib/systemd/system/mysqld.service.default ] && mv -f /lib/systemd/system/mysqld.service.default /lib/systemd/system/mysqld.service && echo -n "2"
57
	[ -e /lib/systemd/system/mysqld.service.default ] && mv -f /lib/systemd/system/mysqld.service.default /lib/systemd/system/mysqld.service && echo -n "2"
58
	/usr/bin/systemctl daemon-reload
58
	/usr/bin/systemctl daemon-reload
59
	rm -rf /var/lib/mysql
59
	rm -rf /var/lib/mysql
60
}
60
}
61
 
61
 
62
freeradius ()
62
freeradius ()
63
{
63
{
64
	echo -en "(12) : "
64
	echo -en "(12) : "
65
	[ -e /etc/raddb/empty-radiusd-db.sql ] && rm -f /etc/raddb/empty-radiusd-db.sql && echo -n "1, "
65
	[ -e /etc/raddb/empty-radiusd-db.sql ] && rm -f /etc/raddb/empty-radiusd-db.sql && echo -n "1, "
66
	[ -e /etc/raddb/radiusd.conf.default ] && mv /etc/raddb/radiusd.conf.default /etc/raddb/radiusd.conf && echo -n "2, "
66
	[ -e /etc/raddb/radiusd.conf.default ] && mv /etc/raddb/radiusd.conf.default /etc/raddb/radiusd.conf && echo -n "2, "
-
 
67
	[ -e /etc/raddb/dictionary.default ] && mv /etc/raddb/dictionary.default /etc/raddb/dictionary && echo -n "3, "
67
	[ -e /etc/raddb/sites-enabled/alcasar ] && rm /etc/raddb/sites-enabled/alcasar && echo -n "3, "
68
	[ -e /etc/raddb/sites-enabled/alcasar ] && rm /etc/raddb/sites-enabled/alcasar && echo -n "4, "
68
	[ -e /etc/raddb/sites-available/alcasar ] && rm /etc/raddb/sites-available/alcasar && echo -n "4, "
69
	[ -e /etc/raddb/sites-available/alcasar ] && rm /etc/raddb/sites-available/alcasar && echo -n "5, "
69
	[ -e /etc/raddb/sites-available/alcasar-with-ldap ] && rm /etc/raddb/sites-available/alcasar-with-ldap && echo -n "5, "
70
	[ -e /etc/raddb/sites-available/alcasar-with-ldap ] && rm /etc/raddb/sites-available/alcasar-with-ldap && echo -n "6, "
70
	[ -e /etc/raddb/clients.conf.default ] && mv /etc/raddb/clients.conf.default /etc/raddb/clients.conf && echo -n "6, "
71
	[ -e /etc/raddb/clients.conf.default ] && mv /etc/raddb/clients.conf.default /etc/raddb/clients.conf && echo -n "7, "
-
 
72
	echo -n "8"
71
	[ -e /etc/raddb/mods-enabled/ldap ] && rm /etc/raddb/mods-enabled/ldap && echo -n "7, " #Add here other mods
73
	for mods in sql sqlcounter attr_filter expiration logintime pap expr always
-
 
74
	do
72
	[ -e /etc/raddb/mods-enabled/sql ] && rm /etc/raddb/mods-enabled/sql && echo -n "7bis, " #Add here other mods
75
		rm /etc/raddb/mods-enabled/$mods && echo -n"."
-
 
76
	done
73
	[ -e /etc/raddb/mods-available/ldap-alcasar ] && rm /etc/raddb/mods-available/ldap-alcasar && echo -n "8, "
77
	echo -n ", "
74
	[ -e /etc/raddb/mods-available/sql.default ] && mv /etc/raddb/mods-available/sql.default /etc/raddb/mods-available/sql && echo -n "9, "
78
	[ -e /etc/raddb/mods-available/ldap-alcasar ] && rm -f /etc/raddb/mods-enabled/ldap-alcasar && rm /etc/raddb/mods-available/ldap-alcasar echo -n "9, "
75
	[ -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 "10, "
79
	[ -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 "10, "
76
	[ -e /lib/systemd/system/radiusd.service.default ] && mv /lib/systemd/system/radiusd.service.default /lib/systemd/system/radiusd.service && echo -n "11, "
80
	[ -e /lib/systemd/system/radiusd.service.default ] && mv /lib/systemd/system/radiusd.service.default /lib/systemd/system/radiusd.service && echo -n "11, "
77
	[ -e /etc/raddb/mods-available/sqlcounter.default ] && mv /etc/raddb/mods-available/sqlcounter.default /etc/raddb/mods-available/sqlcounter && echo -n "12"
81
	[ -e /etc/raddb/mods-available/sqlcounter.default ] && mv /etc/raddb/mods-available/sqlcounter.default /etc/raddb/mods-available/sqlcounter && echo -n "12"
78
	[ -e /etc/raddb/mods-config/sql/counter/mysql/dailycounter.conf.default ]    && mv /etc/raddb/mods-config/sql/counter/mysql/dailycounter.conf.default    /etc/raddb/mods-config/sql/counter/mysql/dailycounter.conf    && echo -n ", 12a"
82
	[ -e /etc/raddb/mods-config/sql/counter/mysql/dailycounter.conf.default ]    && mv /etc/raddb/mods-config/sql/counter/mysql/dailycounter.conf.default    /etc/raddb/mods-config/sql/counter/mysql/dailycounter.conf    && echo -n ", 12a"
79
	[ -e /etc/raddb/mods-config/sql/counter/mysql/monthlycounter.conf.default ]  && mv /etc/raddb/mods-config/sql/counter/mysql/monthlycounter.conf.default  /etc/raddb/mods-config/sql/counter/mysql/monthlycounter.conf  && echo -n ", 12b"
83
	[ -e /etc/raddb/mods-config/sql/counter/mysql/monthlycounter.conf.default ]  && mv /etc/raddb/mods-config/sql/counter/mysql/monthlycounter.conf.default  /etc/raddb/mods-config/sql/counter/mysql/monthlycounter.conf  && echo -n ", 12b"
80
	[ -e /etc/raddb/mods-config/sql/counter/mysql/noresetcounter.conf.default ]  && mv /etc/raddb/mods-config/sql/counter/mysql/noresetcounter.conf.default  /etc/raddb/mods-config/sql/counter/mysql/noresetcounter.conf  && echo -n ", 12c"
84
	[ -e /etc/raddb/mods-config/sql/counter/mysql/noresetcounter.conf.default ]  && mv /etc/raddb/mods-config/sql/counter/mysql/noresetcounter.conf.default  /etc/raddb/mods-config/sql/counter/mysql/noresetcounter.conf  && echo -n ", 12c"
81
	[ -e /etc/raddb/mods-config/sql/counter/mysql/expire_on_login.conf.default ] && mv /etc/raddb/mods-config/sql/counter/mysql/expire_on_login.conf.default /etc/raddb/mods-config/sql/counter/mysql/expire_on_login.conf && echo -n ", 12d"
85
	[ -e /etc/raddb/mods-config/sql/counter/mysql/expire_on_login.conf.default ] && mv /etc/raddb/mods-config/sql/counter/mysql/expire_on_login.conf.default /etc/raddb/mods-config/sql/counter/mysql/expire_on_login.conf && echo -n ", 12d"
82
}
86
}
83
 
87
 
84
chilli ()
88
chilli ()
85
{
89
{
86
	echo -en "(4) : "
90
	echo -en "(4) : "
87
	[ -e /etc/init.d/chilli.default ] && mv /etc/init.d/chilli.default /etc/init.d/chilli && echo -n "1, "
91
	[ -e /etc/init.d/chilli.default ] && mv /etc/init.d/chilli.default /etc/init.d/chilli && echo -n "1, "
88
	[ -e /usr/libexec/chilli ] && rm /usr/libexec/chilli && echo -n "2, "
92
	[ -e /usr/libexec/chilli ] && rm /usr/libexec/chilli && echo -n "2, "
89
	[ -e /etc/chilli.conf.default ] && mv /etc/chilli.conf.default /etc/chilli.conf && echo -n "3, "
93
	[ -e /etc/chilli.conf.default ] && mv /etc/chilli.conf.default /etc/chilli.conf && echo -n "3, "
90
	[ -e /lib/systemd/system/chilli.service ] && rm /lib/systemd/system/chilli.service && echo -n "4"
94
	[ -e /lib/systemd/system/chilli.service ] && rm /lib/systemd/system/chilli.service && echo -n "4"
91
}
95
}
92
 
96
 
93
e2guardian ()
97
e2guardian ()
94
{
98
{
95
	echo -en "(8) : "
99
	echo -en "(8) : "
96
	[ -d /var/e2guardian ] && rm -rf /var/e2guardian && echo -n "1, "
100
	[ -d /var/e2guardian ] && rm -rf /var/e2guardian && echo -n "1, "
97
	[ -e /etc/e2guardian/e2guardian.conf.default ] && mv /etc/e2guardian/e2guardian.conf.default /etc/e2guardian/e2guardian.conf && echo -n "2, "
101
	[ -e /etc/e2guardian/e2guardian.conf.default ] && mv /etc/e2guardian/e2guardian.conf.default /etc/e2guardian/e2guardian.conf && echo -n "2, "
98
	[ -e /etc/e2guardian/lists/bannedphraselist.default ] && mv /etc/e2guardian/lists/bannedphraselist.default /etc/e2guardian/lists/bannedphraselist && echo -n "3, "
102
	[ -e /etc/e2guardian/lists/bannedphraselist.default ] && mv /etc/e2guardian/lists/bannedphraselist.default /etc/e2guardian/lists/bannedphraselist && echo -n "3, "
99
	[ -e /etc/e2guardian/e2guardianf1.conf.default ] && mv /etc/e2guardian/e2guardianf1.conf.default /etc/e2guardian/e2guardianf1.conf && echo -n "4, "
103
	[ -e /etc/e2guardian/e2guardianf1.conf.default ] && mv /etc/e2guardian/e2guardianf1.conf.default /etc/e2guardian/e2guardianf1.conf && echo -n "4, "
100
	[ -e /etc/e2guardian/lists/bannedextensionlist.default ] && mv /etc/e2guardian/lists/bannedextensionlist.default /etc/e2guardian/lists/bannedextensionlist && echo -n "5, "
104
	[ -e /etc/e2guardian/lists/bannedextensionlist.default ] && mv /etc/e2guardian/lists/bannedextensionlist.default /etc/e2guardian/lists/bannedextensionlist && echo -n "5, "
101
	[ -e /etc/e2guardian/lists/bannedmimetypelist.default ] && mv /etc/e2guardian/lists/bannedmimetypelist.default /etc/e2guardian/lists/bannedmimetypelist && echo -n "6, "
105
	[ -e /etc/e2guardian/lists/bannedmimetypelist.default ] && mv /etc/e2guardian/lists/bannedmimetypelist.default /etc/e2guardian/lists/bannedmimetypelist && echo -n "6, "
102
	[ -e /etc/e2guardian/lists/exceptioniplist.default ] && mv /etc/e2guardian/lists/exceptioniplist.default /etc/e2guardian/lists/exceptioniplist && echo -n "7, "
106
	[ -e /etc/e2guardian/lists/exceptioniplist.default ] && mv /etc/e2guardian/lists/exceptioniplist.default /etc/e2guardian/lists/exceptioniplist && echo -n "7, "
103
	[ -e /etc/e2guardian/lists/bannedsitelist.default ] && mv /etc/e2guardian/lists/bannedsitelist.default /etc/e2guardian/lists/bannedsitelist && echo -n "8"
107
	[ -e /etc/e2guardian/lists/bannedsitelist.default ] && mv /etc/e2guardian/lists/bannedsitelist.default /etc/e2guardian/lists/bannedsitelist && echo -n "8"
104
}
108
}
105
 
109
 
106
antivirus ()
110
antivirus ()
107
{
111
{
108
	echo -en "(5) : "
112
	echo -en "(5) : "
109
	if [ -e /etc/init.d/havp ]
113
	if [ -e /etc/init.d/havp ]
110
	then
114
	then
111
		[ -e /etc/havp/havp.config.default ] && mv /etc/havp/havp.config.default /etc/havp/havp.config && echo -n "1, "
115
		[ -e /etc/havp/havp.config.default ] && mv /etc/havp/havp.config.default /etc/havp/havp.config && echo -n "1, "
112
		userdel -r havp 2>/dev/null && echo -n "2, "
116
		userdel -r havp 2>/dev/null && echo -n "2, "
113
		[ -e /etc/init.d/havp.default ] && mv /etc/init.d/havp.default /etc/init.d/havp && echo -n "3, "
117
		[ -e /etc/init.d/havp.default ] && mv /etc/init.d/havp.default /etc/init.d/havp && echo -n "3, "
114
		[ -e /lib/systemd/system/havp.service.default ] && mv /lib/systemd/system/havp.service.default /lib/systemd/system/havp.service && echo -n "4, "
118
		[ -e /lib/systemd/system/havp.service.default ] && mv /lib/systemd/system/havp.service.default /lib/systemd/system/havp.service && echo -n "4, "
115
		[ -e /etc/freshclam.conf.default ] && mv /etc/freshclam.conf.default /etc/freshclam.conf && echo -n "5"
119
		[ -e /etc/freshclam.conf.default ] && mv /etc/freshclam.conf.default /etc/freshclam.conf && echo -n "5"
116
	else	echo -n "already uninstalled"
120
	else	echo -n "already uninstalled"
117
	fi
121
	fi
118
}
122
}
119
 
123
 
120
tinyproxy ()
124
tinyproxy ()
121
{
125
{
122
	echo -en "(2) : "
126
	echo -en "(2) : "
123
	if [ -e /etc/init.d/tinyproxy ]
127
	if [ -e /etc/init.d/tinyproxy ]
124
	then
128
	then
125
		[ -e /etc/tinyproxy/tinyproxy.conf.default ] && mv /etc/tinyproxy/tinyproxy.conf.default /etc/tinyproxy/tinyproxy.conf && echo -n "1, "
129
		[ -e /etc/tinyproxy/tinyproxy.conf.default ] && mv /etc/tinyproxy/tinyproxy.conf.default /etc/tinyproxy/tinyproxy.conf && echo -n "1, "
126
		userdel -r tinyproxy 2>/dev/null && echo -n "2"
130
		userdel -r tinyproxy 2>/dev/null && echo -n "2"
127
	else	echo -n "already uninstalled"
131
	else	echo -n "already uninstalled"
128
	fi
132
	fi
129
}
133
}
130
 
134
 
131
ulogd ()
135
ulogd ()
132
{
136
{
133
	echo -en "(6) : "
137
	echo -en "(6) : "
134
	i=0
138
	i=0
135
	for log_type in traceability ssh ext-access
139
	for log_type in traceability ssh ext-access
136
	do
140
	do
137
		i=`expr $i + 1`
141
		i=`expr $i + 1`
138
		[ -e /etc/ulogd-$log_type.conf ] && rm -f /etc/ulogd-$log_type.conf && echo -n "$i, "
142
		[ -e /etc/ulogd-$log_type.conf ] && rm -f /etc/ulogd-$log_type.conf && echo -n "$i, "
139
		i=`expr $i + 1`
143
		i=`expr $i + 1`
140
		[ -e /lib/systemd/system/ulogd-$log_type.service ] && rm -f /lib/systemd/system/ulogd-$log_type.service && echo -n "$i, "
144
		[ -e /lib/systemd/system/ulogd-$log_type.service ] && rm -f /lib/systemd/system/ulogd-$log_type.service && echo -n "$i, "
141
	done
145
	done
142
}
146
}
143
 
147
 
144
nfsen ()
148
nfsen ()
145
{
149
{
146
	echo -en "(1) : "
150
	echo -en "(1) : "
147
	[ -e /lib/systemd/system/nfsen.service ] && rm -f /lib/systemd/system/nfsen.service && echo -n "1"
151
	[ -e /lib/systemd/system/nfsen.service ] && rm -f /lib/systemd/system/nfsen.service && echo -n "1"
148
}
152
}
149
 
153
 
150
vnstat ()
154
vnstat ()
151
{
155
{
152
	echo -en "(1) : "
156
	echo -en "(1) : "
153
	[ -e /etc/vnstat.conf.default ] && mv /etc/vnstat.conf.default /etc/vnstat.conf && echo -n "1"
157
	[ -e /etc/vnstat.conf.default ] && mv /etc/vnstat.conf.default /etc/vnstat.conf && echo -n "1"
154
}
158
}
155
 
159
 
156
dnsmasq ()
160
dnsmasq ()
157
{
161
{
158
	echo -en "(2 if update ; 4 if uninstall) : "
162
	echo -en "(2 if update ; 4 if uninstall) : "
159
	[ -e /etc/dnsmasq-whitelist.conf ] && rm /etc/dnsmasq-whitelist.conf && echo -n "1, "
163
	[ -e /etc/dnsmasq-whitelist.conf ] && rm /etc/dnsmasq-whitelist.conf && echo -n "1, "
160
	[ -e /lib/systemd/system/dnsmasq-whitelist.service ] && rm /lib/systemd/system/dnsmasq-whitelist.service && echo -n "2, "
164
	[ -e /lib/systemd/system/dnsmasq-whitelist.service ] && rm /lib/systemd/system/dnsmasq-whitelist.service && echo -n "2, "
161
	if [ $mode == "full" ] # don't remove dnsmasq in update mode (DHCP + DNS !)
165
	if [ $mode == "full" ] # don't remove dnsmasq in update mode (DHCP + DNS !)
162
	then
166
	then
163
		[ -e /etc/dnsmasq.conf.default ] && mv /etc/dnsmasq.conf.default /etc/dnsmasq.conf && echo -n "3, "
167
		[ -e /etc/dnsmasq.conf.default ] && mv /etc/dnsmasq.conf.default /etc/dnsmasq.conf && echo -n "3, "
164
		[ -e /lib/systemd/system/dnsmasq.service.default ] && mv /lib/systemd/system/dnsmasq.service.default /lib/systemd/system/dnsmasq.service && echo -n "4"
168
		[ -e /lib/systemd/system/dnsmasq.service.default ] && mv /lib/systemd/system/dnsmasq.service.default /lib/systemd/system/dnsmasq.service && echo -n "4"
165
	fi
169
	fi
166
}
170
}
167
 
171
 
168
unbound ()
172
unbound ()
169
{
173
{
170
	echo -en "(5) : "
174
	echo -en "(5) : "
171
	[ -e /etc/unbound/unbound.conf.default ] && mv /etc/unbound/unbound.conf.default /etc/unbound/unbound.conf && echo -n "1, "
175
	[ -e /etc/unbound/unbound.conf.default ] && mv /etc/unbound/unbound.conf.default /etc/unbound/unbound.conf && echo -n "1, "
172
	[ -e /etc/unbound/unbound-blacklist.conf ] && rm -f /etc/unbound/unbound-blacklist.conf && echo -n "2, "
176
	[ -e /etc/unbound/unbound-blacklist.conf ] && rm -f /etc/unbound/unbound-blacklist.conf && echo -n "2, "
173
	[ -e /etc/unbound/unbound-whitelist.conf ] && rm -f /etc/unbound/unbound-whitelist.conf && echo -n "3, "
177
	[ -e /etc/unbound/unbound-whitelist.conf ] && rm -f /etc/unbound/unbound-whitelist.conf && echo -n "3, "
174
	[ -e /etc/unbound/unbound-blackhole.conf ] && rm -f /etc/unbound/unbound-blackhole.conf && echo -n "4, "
178
	[ -e /etc/unbound/unbound-blackhole.conf ] && rm -f /etc/unbound/unbound-blackhole.conf && echo -n "4, "
175
	[ -e /etc/unbound/conf.d ] && rm -rf /etc/unbound/conf.d && echo -n "5"
179
	[ -e /etc/unbound/conf.d ] && rm -rf /etc/unbound/conf.d && echo -n "5"
176
}
180
}
177
 
181
 
178
dhcpd ()
182
dhcpd ()
179
{
183
{
180
	echo -en "(1) : "
184
	echo -en "(1) : "
181
	[ -e /etc/dhcpd.conf.default ] && mv /etc/dhcpd.conf.default /etc/dhcpd.conf && echo -n "1"
185
	[ -e /etc/dhcpd.conf.default ] && mv /etc/dhcpd.conf.default /etc/dhcpd.conf && echo -n "1"
182
}
186
}
183
 
187
 
184
cron ()
188
cron ()
185
{
189
{
186
	echo -en "(11) : "
190
	echo -en "(11) : "
187
	i=1
191
	i=1
188
	for cron in `ls /etc/cron.d/alcasar-* 2>/dev/null`
192
	for cron in `ls /etc/cron.d/alcasar-* 2>/dev/null`
189
	do
193
	do
190
		rm $cron && echo -n "$i, "
194
		rm $cron && echo -n "$i, "
191
		i=`expr $i + 1`
195
		i=`expr $i + 1`
192
	done
196
	done
193
	[ -e /etc/crontab.default ] && mv /etc/crontab.default /etc/crontab && echo -n "10, "
197
	[ -e /etc/crontab.default ] && mv /etc/crontab.default /etc/crontab && echo -n "10, "
194
	[ -e /etc/anacrontab.default ] && mv /etc/anacrontab.default /etc/anacrontab && echo -n "11"
198
	[ -e /etc/anacrontab.default ] && mv /etc/anacrontab.default /etc/anacrontab && echo -n "11"
195
}
199
}
196
 
200
 
197
fail2ban ()
201
fail2ban ()
198
{
202
{
199
	echo -en "(8) : "
203
	echo -en "(8) : "
200
	[ -e /etc/fail2ban/fail2ban.conf.default ] && mv /etc/fail2ban/fail2ban.conf.default /etc/fail2ban/fail2ban.conf && echo -n "1, "
204
	[ -e /etc/fail2ban/fail2ban.conf.default ] && mv /etc/fail2ban/fail2ban.conf.default /etc/fail2ban/fail2ban.conf && echo -n "1, "
201
	[ -e /etc/fail2ban/jail.conf.default ] && mv /etc/fail2ban/jail.conf.default /etc/fail2ban/jail.conf && echo -n "2, "
205
	[ -e /etc/fail2ban/jail.conf.default ] && mv /etc/fail2ban/jail.conf.default /etc/fail2ban/jail.conf && echo -n "2, "
202
	[ -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, "
206
	[ -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, "
203
	i=3
207
	i=3
204
	for filter in `ls /etc/fail2ban/filter.d/alcasar_* 2>/dev/null`
208
	for filter in `ls /etc/fail2ban/filter.d/alcasar_* 2>/dev/null`
205
	do
209
	do
206
		i=`expr $i + 1`
210
		i=`expr $i + 1`
207
		rm $filter && echo -n "$i, "
211
		rm $filter && echo -n "$i, "
208
	done
212
	done
209
	[ -e /lib/systemd/system/fail2ban.service.default ] && mv /lib/systemd/system/fail2ban.service.default /lib/systemd/system/fail2ban.service && echo -n "8"
213
	[ -e /lib/systemd/system/fail2ban.service.default ] && mv /lib/systemd/system/fail2ban.service.default /lib/systemd/system/fail2ban.service && echo -n "8"
210
}
214
}
211
 
215
 
212
gammu_smsd ()
216
gammu_smsd ()
213
{
217
{
214
	echo -en "(4) : "
218
	echo -en "(4) : "
215
	[ -e /etc/gammu_smsd_conf ] && rm -f /etc/gammu_smsd_conf && echo -n "1, "
219
	[ -e /etc/gammu_smsd_conf ] && rm -f /etc/gammu_smsd_conf && echo -n "1, "
216
	[ -e /lib/udev/rules.d/66-huawei.rules ] && rm -f /lib/udev/rules.d/66-huawei.rules && echo -n "2, "
220
	[ -e /lib/udev/rules.d/66-huawei.rules ] && rm -f /lib/udev/rules.d/66-huawei.rules && echo -n "2, "
217
	[ -e /var/log/gammu-smsd ] && rm -rf /var/log/gammu-smsd && echo -n "3, "
221
	[ -e /var/log/gammu-smsd ] && rm -rf /var/log/gammu-smsd && echo -n "3, "
218
	userdel -r gammu_smsd 2>/dev/null && echo -n "4"
222
	userdel -r gammu_smsd 2>/dev/null && echo -n "4"
219
}
223
}
220
 
224
 
221
msec ()
225
msec ()
222
{
226
{
223
	echo -en "(2) : "
227
	echo -en "(2) : "
224
	if [ -e /etc/security/msec/security.conf ]
228
	if [ -e /etc/security/msec/security.conf ]
225
	then
229
	then
226
		[ -e /etc/security/msec/security.conf.default ] && mv /etc/security/msec/security.conf.default /etc/security/msec/security.conf && echo -n "1, "
230
		[ -e /etc/security/msec/security.conf.default ] && mv /etc/security/msec/security.conf.default /etc/security/msec/security.conf && echo -n "1, "
227
		[ -e /etc/security/msec/perm.local ] && rm -f /etc/security/msec/perm.local && echo -n "2"
231
		[ -e /etc/security/msec/perm.local ] && rm -f /etc/security/msec/perm.local && echo -n "2"
228
	else	echo -n "uninstalled"
232
	else	echo -n "uninstalled"
229
	fi
233
	fi
230
}
234
}
231
 
235
 
232
letsencrypt ()
236
letsencrypt ()
233
{
237
{
234
	echo -en "(3) : "
238
	echo -en "(3) : "
235
	[ -e /usr/local/etc/letsencrypt ] && rm -rf /usr/local/etc/letsencrypt && echo -n "1, "
239
	[ -e /usr/local/etc/letsencrypt ] && rm -rf /usr/local/etc/letsencrypt && echo -n "1, "
236
	[ -e /opt/acme.sh/acme.sh ] && /opt/acme.sh/acme.sh --uninstall --nocron 1>/dev/null && echo -n "2, "
240
	[ -e /opt/acme.sh/acme.sh ] && /opt/acme.sh/acme.sh --uninstall --nocron 1>/dev/null && echo -n "2, "
237
	[ -e /opt/acme.sh ] && rm -rf /opt/acme.sh && echo -n "3"
241
	[ -e /opt/acme.sh ] && rm -rf /opt/acme.sh && echo -n "3"
238
}
242
}
239
 
243
 
240
post_install ()
244
post_install ()
241
{
245
{
242
echo -en "(7) : "
246
echo -en "(7) : "
243
	[ -e /etc/mageia-release.default ] && mv -f /etc/mageia-release.default /etc/mageia-release && echo -n "1, "
247
	[ -e /etc/mageia-release.default ] && mv -f /etc/mageia-release.default /etc/mageia-release && echo -n "1, "
244
	[ -e /etc/ssh/alcasar-banner-ssh ] && rm -f /etc/ssh/alcasar-banner-ssh && echo -n "2, "
248
	[ -e /etc/ssh/alcasar-banner-ssh ] && rm -f /etc/ssh/alcasar-banner-ssh && echo -n "2, "
245
	[ -e /etc/ssh/sshd_config.default ] && mv -f /etc/ssh/sshd_config.default /etc/ssh/sshd_config && echo -n "3, "
249
	[ -e /etc/ssh/sshd_config.default ] && mv -f /etc/ssh/sshd_config.default /etc/ssh/sshd_config && echo -n "3, "
246
	[ -e /etc/bashrc.default ] && mv -f /etc/bashrc.default /etc/bashrc && echo -n "4, "
250
	[ -e /etc/bashrc.default ] && mv -f /etc/bashrc.default /etc/bashrc && echo -n "4, "
247
	[ -e /etc/sudoers.default ] && mv -f /etc/sudoers.default /etc/sudoers && echo -n "5, "
251
	[ -e /etc/sudoers.default ] && mv -f /etc/sudoers.default /etc/sudoers && echo -n "5, "
248
	[ -e /lib/systemd/system/alcasar-load_balancing.service ] && rm -f /lib/systemd/system/alcasar-load_balancing.service && echo -n "6, "
252
	[ -e /lib/systemd/system/alcasar-load_balancing.service ] && rm -f /lib/systemd/system/alcasar-load_balancing.service && echo -n "6, "
249
	[ -e /etc/default/grub.default ] && mv -f /etc/default/grub.default /etc/default/grub && echo -n "7"
253
	[ -e /etc/default/grub.default ] && mv -f /etc/default/grub.default /etc/default/grub && echo -n "7"
250
}
254
}
251
 
255
 
252
 
256
 
253
usage="Usage: alcasar-uninstall.sh {-update or --update} | {-full or --full}"
257
usage="Usage: alcasar-uninstall.sh {-update or --update} | {-full or --full}"
254
 
258
 
255
nb_args=$#
259
nb_args=$#
256
args=$1
260
args=$1
257
if [ $nb_args -eq 0 ]
261
if [ $nb_args -eq 0 ]
258
then
262
then
259
	nb_args=1
263
	nb_args=1
260
	args="-h"
264
	args="-h"
261
fi
265
fi
262
case $args in
266
case $args in
263
	-\? | -h* | --h*)
267
	-\? | -h* | --h*)
264
		echo "$usage"
268
		echo "$usage"
265
		exit 0
269
		exit 0
266
		;;
270
		;;
267
	--update | -update)
271
	--update | -update)
268
		mode="update"
272
		mode="update"
269
		;;
273
		;;
270
	--full | -full)
274
	--full | -full)
271
		mode="full"
275
		mode="full"
272
		;;
276
		;;
273
	*)
277
	*)
274
		echo "Argument inconnu :$1";
278
		echo "Argument inconnu :$1";
275
		echo "$usage"
279
		echo "$usage"
276
		exit 1
280
		exit 1
277
		;;
281
		;;
278
esac
282
esac
279
clear
283
clear
280
if [ $mode == "full" ]
284
if [ $mode == "full" ]
281
then
285
then
282
	echo "----------------------------------------------------------------------------"
286
	echo "----------------------------------------------------------------------------"
283
	echo "**                     Uninstall/Désinstallation d'ALCASAR		**"
287
	echo "**                     Uninstall/Désinstallation d'ALCASAR		**"
284
	echo "----------------------------------------------------------------------------"
288
	echo "----------------------------------------------------------------------------"
285
	services="alcasar-load_balancing vnstat havp freshclam ntpd lighttpd radiusd mysqld unbound unbound-blacklist unbound-whitelist dnsmasq-whitelist unbound-blackhole tinyproxy nfsen fail2ban iptables ulogd-ext-access ulogd-ssh ulogd-traceability e2guardian dnsmasq sshd chilli"
289
	services="alcasar-load_balancing vnstat havp freshclam ntpd lighttpd radiusd mysqld unbound unbound-blacklist unbound-whitelist dnsmasq-whitelist unbound-blackhole tinyproxy nfsen fail2ban iptables ulogd-ext-access ulogd-ssh ulogd-traceability e2guardian dnsmasq sshd chilli"
286
	/usr/local/bin/alcasar-logout.sh all # logout everybody
290
	/usr/local/bin/alcasar-logout.sh all # logout everybody
287
else
291
else
288
	echo "--------------------------------------------------------------------------"
292
	echo "--------------------------------------------------------------------------"
289
	echo "**                     update/mise à jour d'ALCASAR			**"
293
	echo "**                     update/mise à jour d'ALCASAR			**"
290
	echo "--------------------------------------------------------------------------"
294
	echo "--------------------------------------------------------------------------"
291
	# dnsmasq & sshd should stay on to allow remote update
295
	# dnsmasq & sshd should stay on to allow remote update
292
	services="alcasar-load_balancing vnstat havp freshclam ntpd lighttpd radiusd mysqld unbound unbound-blacklist unbound-whitelist dnsmasq-whitelist unbound-blackhole tinyproxy nfsen fail2ban ulogd-ext-access ulogd-ssh ulogd-traceability e2guardian chilli"
296
	services="alcasar-load_balancing vnstat havp freshclam ntpd lighttpd radiusd mysqld unbound unbound-blacklist unbound-whitelist dnsmasq-whitelist unbound-blackhole tinyproxy nfsen fail2ban ulogd-ext-access ulogd-ssh ulogd-traceability e2guardian chilli"
293
	/usr/local/bin/alcasar-bypass.sh -on # to allow remote update
297
	/usr/local/bin/alcasar-bypass.sh -on # to allow remote update
294
fi
298
fi
295
 
299
 
296
[ -e /lib/systemd/system/httpd.service ] && services+=" httpd"
300
[ -e /lib/systemd/system/httpd.service ] && services+=" httpd"
297
 
301
 
298
echo "Stopping services : "
302
echo "Stopping services : "
299
/usr/local/bin/alcasar-sms.sh --stop
303
/usr/local/bin/alcasar-sms.sh --stop
300
for i in $services
304
for i in $services
301
do
305
do
302
	if [ -e /lib/systemd/system/$i.service ]
306
	if [ -e /lib/systemd/system/$i.service ]
303
	then
307
	then
304
		/usr/bin/systemctl disable $i.service
308
		/usr/bin/systemctl disable $i.service
305
		/usr/bin/systemctl stop $i.service 1>/dev/null
309
		/usr/bin/systemctl stop $i.service 1>/dev/null
306
		sleep 1
310
		sleep 1
307
	else
311
	else
308
		echo "The service $i.service doesn't exist !"
312
		echo "The service $i.service doesn't exist !"
309
	fi
313
	fi
310
done
314
done
311
echo "Check the service clearing"
315
echo "Check the service clearing"
312
for i in $services
316
for i in $services
313
do
317
do
314
	if [ `systemctl is-active $i.service` == "active" ]
318
	if [ `systemctl is-active $i.service` == "active" ]
315
	then
319
	then
316
		echo "The service '$i' need to be killed"
320
		echo "The service '$i' need to be killed"
317
		/usr/bin/systemctl stop $i.service
321
		/usr/bin/systemctl stop $i.service
318
		killall $i
322
		killall $i
319
	fi
323
	fi
320
done
324
done
321
if [ $mode == "update" ] # reload sshd in case of remote update
325
if [ $mode == "update" ] # reload sshd in case of remote update
322
then
326
then
323
	/usr/bin/systemctl reload sshd
327
	/usr/bin/systemctl reload sshd
324
fi
328
fi
325
echo "Reset ALCASAR main functions : "
329
echo "Reset ALCASAR main functions : "
326
for func in init ACC CA time_server init_db freeradius chilli e2guardian antivirus tinyproxy ulogd nfsen vnstat unbound dnsmasq dhcpd cron fail2ban gammu_smsd msec letsencrypt post_install
330
for func in init ACC CA time_server init_db freeradius chilli e2guardian antivirus tinyproxy ulogd nfsen vnstat unbound dnsmasq dhcpd cron fail2ban gammu_smsd msec letsencrypt post_install
327
do
331
do
328
	echo -en "\n- $func "
332
	echo -en "\n- $func "
329
	$func
333
	$func
330
	sleep 1
334
	sleep 1
331
	if [ $DEBUG_ALCASAR == "on" ]
335
	if [ $DEBUG_ALCASAR == "on" ]
332
	then
336
	then
333
		echo -n " *** 'debug' : end of cleaning '$func' *** "
337
		echo -n " *** 'debug' : end of cleaning '$func' *** "
334
		read a
338
		read a
335
	fi
339
	fi
336
done
340
done
337
if [ $mode == "full" ]
341
if [ $mode == "full" ]
338
then
342
then
339
	echo -en "\n- network(9) : "
343
	echo -en "\n- network(9) : "
340
	hostnamectl set-hostname localhost.localdomain
344
	hostnamectl set-hostname localhost.localdomain
341
	chmod a-x /etc/sysconfig/network-scripts/default-*
345
	chmod a-x /etc/sysconfig/network-scripts/default-*
342
	i=0
346
	i=0
343
	for nic in `ls /etc/sysconfig/network-scripts/default-*|cut -d'-' -f4`
347
	for nic in `ls /etc/sysconfig/network-scripts/default-*|cut -d'-' -f4`
344
	do
348
	do
345
		i=`expr $i + 1`
349
		i=`expr $i + 1`
346
		/sbin/ifdown $nic
350
		/sbin/ifdown $nic
347
		[ -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), "
351
		[ -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), "
348
	done
352
	done
349
	[ -e /etc/sysconfig/network.default ] && mv -f /etc/sysconfig/network.default /etc/sysconfig/network && echo -n "3, "
353
	[ -e /etc/sysconfig/network.default ] && mv -f /etc/sysconfig/network.default /etc/sysconfig/network && echo -n "3, "
350
	[ -e /etc/hosts.default ] && mv -f /etc/hosts.default /etc/hosts && echo -n "4, "
354
	[ -e /etc/hosts.default ] && mv -f /etc/hosts.default /etc/hosts && echo -n "4, "
351
	[ -e /etc/hosts.allow.default ] && mv -f /etc/hosts.allow.default /etc/hosts.allow && echo -n "5, "
355
	[ -e /etc/hosts.allow.default ] && mv -f /etc/hosts.allow.default /etc/hosts.allow && echo -n "5, "
352
	[ -e /etc/hosts.deny.default ] && mv -f /etc/hosts.deny.default /etc/hosts.deny && echo -n "6, "
356
	[ -e /etc/hosts.deny.default ] && mv -f /etc/hosts.deny.default /etc/hosts.deny && echo -n "6, "
353
	[ -e /etc/modprobe.preload.default ] && mv -f /etc/modprobe.preload.default /etc/modprobe.preload && echo -n "7, "
357
	[ -e /etc/modprobe.preload.default ] && mv -f /etc/modprobe.preload.default /etc/modprobe.preload && echo -n "7, "
354
	[ -e /lib/systemd/system/iptables.service.default ] && mv -f /lib/systemd/system/iptables.service.default /lib/systemd/system/iptables.service && echo -n "8, "
358
	[ -e /lib/systemd/system/iptables.service.default ] && mv -f /lib/systemd/system/iptables.service.default /lib/systemd/system/iptables.service && echo -n "8, "
355
	[ -e /usr/libexec/iptables.init.default ] && mv -f /usr/libexec/iptables.init.default /usr/libexec/iptables.init && echo -n "9"
359
	[ -e /usr/libexec/iptables.init.default ] && mv -f /usr/libexec/iptables.init.default /usr/libexec/iptables.init && echo -n "9"
356
	/usr/bin/systemctl restart network
360
	/usr/bin/systemctl restart network
357
	sleep 1
361
	sleep 1
358
fi
362
fi
359
 
363
 
360
# Cleaning (remove all "old" alcasar scripts)
364
# Cleaning (remove all "old" alcasar scripts)
361
echo -en "\n- End of cleaning ...\n"
365
echo -en "\n- End of cleaning ...\n"
362
for rm_fic in /usr/local/bin /usr/local/etc /usr/local/sbin
366
for rm_fic in /usr/local/bin /usr/local/etc /usr/local/sbin
363
do
367
do
364
	rm -rf $rm_fic/alcasar*
368
	rm -rf $rm_fic/alcasar*
365
done
369
done
366
/usr/bin/update-grub2
370
/usr/bin/update-grub2
367
 
371
 
368
if [ $mode == "full" ]
372
if [ $mode == "full" ]
369
then
373
then
370
	echo -n "Waiting for Network to be up again : "
374
	echo -n "Waiting for Network to be up again : "
371
	i=0
375
	i=0
372
	while [ $i -lt 10 ] # We wait 10 seconds max
376
	while [ $i -lt 10 ] # We wait 10 seconds max
373
	do
377
	do
374
		echo -n "."
378
		echo -n "."
375
		DNS1=`grep ^nameserver /etc/resolv.conf|awk -F" " '{print $2}'|head -n 1`
379
		DNS1=`grep ^nameserver /etc/resolv.conf|awk -F" " '{print $2}'|head -n 1`
376
		if [ "$DNS1" != "" ] && [ "$DNS1" != "127.0.0.1" ]
380
		if [ "$DNS1" != "" ] && [ "$DNS1" != "127.0.0.1" ]
377
		then
381
		then
378
			i=9
382
			i=9
379
			echo -n "ok"
383
			echo -n "ok"
380
		fi
384
		fi
381
		i=`expr $i + 1`
385
		i=`expr $i + 1`
382
		sleep 1
386
		sleep 1
383
	done
387
	done
384
fi
388
fi
385
echo
389
echo
386
 
390