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