Subversion Repositories ALCASAR

Rev

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

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