Subversion Repositories ALCASAR

Rev

Rev 3099 | Rev 3104 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log

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