1 |
#/bin/sh
|
1 |
#/bin/sh
|
2 |
# by rexy
|
2 |
# by rexy
|
3 |
# Ce script permet de créer ou de charger l'archive des fichiers de configuration (/tmp/alcasar-conf.tar.gz)
|
3 |
# Ce script permet de créer ou de charger l'archive des fichiers de configuration (/tmp/alcasar-conf.tar.gz)
|
4 |
DIR_UPDATE="/tmp/conf" # répertoire de stockage des fichier de conf pour une mise à jour
|
4 |
DIR_UPDATE="/tmp/conf" # répertoire de stockage des fichier de conf pour une mise à jour
|
5 |
DIR_WEB="/var/www/html" # répertoire du centre de gestion
|
5 |
DIR_WEB="/var/www/html" # répertoire du centre de gestion
|
6 |
DIR_DEST_SBIN="/usr/local/sbin" # répertoire des scripts d'admin
|
6 |
DIR_DEST_SBIN="/usr/local/sbin" # répertoire des scripts d'admin
|
7 |
DIR_DEST_ETC="/usr/local/etc" # répertoire des fichiers de conf
|
7 |
DIR_DEST_ETC="/usr/local/etc" # répertoire des fichiers de conf
|
8 |
DB_USER="db_user" # nom d'utilisateur mysql (base usagers)
|
8 |
DB_USER="db_user" # nom d'utilisateur mysql (base usagers)
|
9 |
radiuspwd="radius_pwd" # mot de passe d'accès
|
9 |
radiuspwd="radius_pwd" # mot de passe d'accès
|
10 |
|
10 |
|
11 |
usage="Usage: alcasar-conf.sh -create | -load"
|
11 |
usage="Usage: alcasar-conf.sh -create | -load"
|
12 |
nb_args=$#
|
12 |
nb_args=$#
|
13 |
args=$1
|
13 |
args=$1
|
14 |
if [ $nb_args -eq 0 ]
|
14 |
if [ $nb_args -eq 0 ]
|
15 |
then
|
15 |
then
|
16 |
nb_args=1
|
16 |
nb_args=1
|
17 |
args="-h"
|
17 |
args="-h"
|
18 |
fi
|
18 |
fi
|
19 |
case $args in
|
19 |
case $args in
|
20 |
-\? | -h* | --h*)
|
20 |
-\? | -h* | --h*)
|
21 |
echo "$usage"
|
21 |
echo "$usage"
|
22 |
exit 0
|
22 |
exit 0
|
23 |
;;
|
23 |
;;
|
24 |
-create)
|
24 |
-create)
|
25 |
DIR_UPDATE="/tmp/conf" # répertoire de stockage des fichier de conf pour une mise à jour
|
25 |
DIR_UPDATE="/tmp/conf" # répertoire de stockage des fichier de conf pour une mise à jour
|
26 |
[ -d $DIR_UPDATE ] && rm -rf $DIR_UPDATE
|
26 |
[ -d $DIR_UPDATE ] && rm -rf $DIR_UPDATE
|
27 |
mkdir $DIR_UPDATE
|
27 |
mkdir $DIR_UPDATE
|
28 |
# Sauvegarde des certificats (serveur et CA)
|
28 |
# Sauvegarde des certificats (serveur et CA)
|
29 |
cert_date=`/usr/bin/openssl x509 -noout -in /etc/pki/tls/certs/alcasar.crt -dates|grep After|cut -d"=" -f2`
|
29 |
cert_date=`/usr/bin/openssl x509 -noout -in /etc/pki/tls/certs/alcasar.crt -dates|grep After|cut -d"=" -f2`
|
30 |
cp -f /etc/pki/tls/certs/alcasar.crt $DIR_UPDATE
|
30 |
cp -f /etc/pki/tls/certs/alcasar.crt $DIR_UPDATE
|
31 |
cp -f /etc/pki/tls/private/alcasar.key $DIR_UPDATE
|
31 |
cp -f /etc/pki/tls/private/alcasar.key $DIR_UPDATE
|
32 |
cp -f /etc/pki/CA/alcasar-ca.crt $DIR_UPDATE
|
32 |
cp -f /etc/pki/CA/alcasar-ca.crt $DIR_UPDATE
|
33 |
cp -f /etc/pki/CA/private/alcasar-ca.key $DIR_UPDATE
|
33 |
cp -f /etc/pki/CA/private/alcasar-ca.key $DIR_UPDATE
|
34 |
# Sauvegarde de la base des usagers
|
34 |
# Sauvegarde de la base des usagers
|
35 |
/usr/local/sbin/alcasar-mysql.sh -dump
|
35 |
/usr/local/sbin/alcasar-mysql.sh -dump
|
36 |
cp /var/Save/base/`ls /var/Save/base|tail -1` $DIR_UPDATE
|
36 |
cp /var/Save/base/`ls /var/Save/base|tail -1` $DIR_UPDATE
|
37 |
# Sauvegarde des comptes de gestion
|
37 |
# Sauvegarde des comptes de gestion
|
38 |
cp -rf $DIR_WEB/digest $DIR_UPDATE
|
38 |
cp -rf $DIR_WEB/digest $DIR_UPDATE
|
39 |
# Sauvegarde du nom d'organisme
|
39 |
# Sauvegarde du nom d'organisme
|
40 |
echo `hostname` > $DIR_UPDATE/hostname
|
40 |
echo `hostname` > $DIR_UPDATE/hostname
|
41 |
# Sauvegarde du logo
|
41 |
# Sauvegarde du logo
|
42 |
cp -f $DIR_WEB/images/organisme.png $DIR_UPDATE
|
42 |
cp -f $DIR_WEB/images/organisme.png $DIR_UPDATE
|
43 |
# Sauvegarde des fichiers d'exceptions (urls, domains et mac)
|
43 |
# Sauvegarde des fichiers d'exceptions (urls, domains et mac)
|
44 |
cp -f /etc/chilli/alcasar-* $DIR_UPDATE
|
44 |
cp -f /etc/chilli/alcasar-* $DIR_UPDATE
|
45 |
# Sauvegarde des listes de filtrage
|
45 |
# Sauvegarde des listes de filtrage
|
46 |
echo "sauvegarde de l'ancienne blacklist ..."
|
46 |
echo "sauvegarde de l'ancienne blacklist ..."
|
47 |
cp -rf /etc/dansguardian/lists/ $DIR_UPDATE
|
47 |
cp -rf /etc/dansguardian/lists/ $DIR_UPDATE
|
48 |
# sauvegarde des fichiers de filtrage réseau
|
48 |
# sauvegarde des fichiers de filtrage réseau
|
49 |
mkdir $DIR_UPDATE/etc/
|
49 |
mkdir $DIR_UPDATE/etc/
|
50 |
cp -rf $DIR_DEST_ETC/* $DIR_UPDATE/etc/
|
50 |
cp -rf $DIR_DEST_ETC/* $DIR_UPDATE/etc/
|
51 |
# création de l'archive
|
51 |
# création de l'archive
|
52 |
cd /tmp
|
52 |
cd /tmp
|
53 |
tar -cf alcasar-conf.tar conf/
|
53 |
tar -cf alcasar-conf.tar conf/
|
54 |
gzip -f alcasar-conf.tar
|
54 |
gzip -f alcasar-conf.tar
|
55 |
rm -rf $DIR_UPDATE
|
55 |
rm -rf $DIR_UPDATE
|
56 |
;;
|
56 |
;;
|
57 |
-load)
|
57 |
-load)
|
58 |
cd /tmp
|
58 |
cd /tmp
|
59 |
tar -xvf /tmp/alcasar-conf.tar.gz
|
59 |
tar -xf /tmp/alcasar-conf.tar.gz
|
60 |
# Récupération du nom d'organisme
|
60 |
# Récupération du nom d'organisme
|
61 |
ORGANISME=`cat $DIR_UPDATE/hostname|cut -b 9-`
|
61 |
ORGANISME=`cat $DIR_UPDATE/hostname|cut -b 9-`
|
62 |
hostname `cat $DIR_UPDATE/hostname`
|
62 |
hostname `cat $DIR_UPDATE/hostname`
|
63 |
|
- |
|
64 |
# Récupération du logo
|
63 |
# Récupération du logo
|
65 |
cp -f $DIR_UPDATE/organisme.png $DIR_WEB/images/
|
64 |
cp -f $DIR_UPDATE/organisme.png $DIR_WEB/images/
|
66 |
chown apache:apache $DIR_WEB/images/organisme.png $DIR_WEB/intercept.php
|
65 |
chown apache:apache $DIR_WEB/images/organisme.png $DIR_WEB/intercept.php
|
67 |
# Récupération des certificats (CA et serveur)
|
66 |
# Récupération des certificats (CA et serveur)
|
68 |
cp -f $DIR_UPDATE/alcasar-ca.crt /etc/pki/CA/
|
67 |
cp -f $DIR_UPDATE/alcasar-ca.crt /etc/pki/CA/
|
69 |
cp -f $DIR_UPDATE/alcasar-ca.key /etc/pki/CA/private/
|
68 |
cp -f $DIR_UPDATE/alcasar-ca.key /etc/pki/CA/private/
|
70 |
cp -f $DIR_UPDATE/alcasar.crt /etc/pki/tls/certs/
|
69 |
cp -f $DIR_UPDATE/alcasar.crt /etc/pki/tls/certs/
|
71 |
cp -f $DIR_UPDATE/alcasar.key /etc/pki/tls/private/
|
70 |
cp -f $DIR_UPDATE/alcasar.key /etc/pki/tls/private/
|
72 |
chown -R root:apache /etc/pki
|
71 |
chown -R root:apache /etc/pki
|
73 |
chmod -R 750 /etc/pki
|
72 |
chmod -R 750 /etc/pki
|
74 |
# Import de la dernière base usagers
|
73 |
# Import de la dernière base usagers
|
75 |
mysql -u$DB_USER -p$radiuspwd < `ls $DIR_UPDATE/radius*`
|
74 |
mysql -u$DB_USER -p$radiuspwd < `ls $DIR_UPDATE/radius*`
|
76 |
# Récupération des uamallowed
|
75 |
# Récupération des uamallowed
|
77 |
cp -f $DIR_UPDATE/alcasar-uam* /etc/chilli/.
|
76 |
cp -f $DIR_UPDATE/alcasar-uam* /etc/chilli/.
|
78 |
chown root:apache /etc/chilli/alcasar-uam*
|
77 |
chown root:apache /etc/chilli/alcasar-uam*
|
79 |
chmod 660 /etc/chilli/alcasar-uam*
|
78 |
chmod 660 /etc/chilli/alcasar-uam*
|
80 |
# Récupération des listes de filtrage (BL principale et secondaire, @IP non filtrés, etc.)
|
79 |
# Récupération des listes de filtrage (BL principale et secondaire, @IP non filtrés, etc.)
|
81 |
rm -rf /etc/dansguardian/lists
|
80 |
rm -rf /etc/dansguardian/lists
|
82 |
cp -rf $DIR_UPDATE/lists /etc/dansguardian/
|
81 |
cp -rf $DIR_UPDATE/lists /etc/dansguardian/
|
83 |
chown -R dansguardian:apache /etc/dansguardian/lists
|
82 |
chown -R dansguardian:apache /etc/dansguardian/lists
|
84 |
chmod -R g+rw /etc/dansguardian/lists
|
83 |
chmod -R g+rw /etc/dansguardian/lists
|
85 |
# Récupération des comptes de gestion (admin + manager + backup)
|
84 |
# Récupération des comptes de gestion (admin + manager + backup)
|
86 |
cp -rf $DIR_UPDATE/digest $DIR_WEB/
|
85 |
cp -rf $DIR_UPDATE/digest $DIR_WEB/
|
87 |
$DIR_DEST_SBIN/alcasar-profil.sh -list
|
86 |
$DIR_DEST_SBIN/alcasar-profil.sh -list
|
88 |
# Récupération des règles de filtrage réseau
|
87 |
# Récupération des règles de filtrage réseau
|
89 |
cp -f $DIR_UPDATE/etc/* $DIR_DEST_ETC/
|
88 |
cp -f $DIR_UPDATE/etc/* $DIR_DEST_ETC/
|
90 |
chown root:apache $DIR_DEST_ETC/*
|
89 |
chown root:apache $DIR_DEST_ETC/*
|
91 |
chmod 660 $DIR_DEST_ETC/*
|
90 |
chmod 660 $DIR_DEST_ETC/*
|
92 |
rm -rf $DIR_UPDATE
|
91 |
rm -rf $DIR_UPDATE
|
93 |
;;
|
92 |
;;
|
94 |
*)
|
93 |
*)
|
95 |
echo "Argument inconnu :$1";
|
94 |
echo "Argument inconnu :$1";
|
96 |
echo "$usage"
|
95 |
echo "$usage"
|
97 |
exit 1
|
96 |
exit 1
|
98 |
;;
|
97 |
;;
|
99 |
esac
|
98 |
esac
|
100 |
|
99 |
|
101 |
|
100 |
|