8,9 → 8,14 |
DIR_BIN="/usr/local/bin" # répertoire des scripts d'admin |
DIR_SBIN="/usr/local/sbin" # répertoire des scripts d'admin |
DIR_ETC="/usr/local/etc" # répertoire des fichiers de conf |
VERSION="/var/www/html/VERSION" # contient la version en cours |
DB_USER="radius" |
radiuspwd="" |
SED="/bin/sed -i" |
RUNNING_VERSION=`cat $VERSION|cut -d" " -f1` |
MAJ_RUNNING_VERSION=`echo $RUNNING_VERSION|cut -d"." -f1` |
MIN_RUNNING_VERSION=`echo $RUNNING_VERSION|cut -d"." -f2|cut -c1` |
UPD_RUNNING_VERSION=`echo $RUNNING_VERSION|cut -d"." -f3` |
|
usage="Usage: alcasar-conf.sh --create | --load" |
nb_args=$# |
29,12 → 34,6 |
DIR_UPDATE="/tmp/conf" # répertoire de stockage des fichier de conf pour une mise à jour |
[ -d $DIR_UPDATE ] && rm -rf $DIR_UPDATE |
mkdir $DIR_UPDATE |
# Sauvegarde des certificats (serveur et CA) |
cert_date=`/usr/bin/openssl x509 -noout -in /etc/pki/tls/certs/alcasar.crt -dates|grep After|cut -d"=" -f2` |
cp -f /etc/pki/tls/certs/alcasar.crt $DIR_UPDATE |
cp -f /etc/pki/tls/private/alcasar.key $DIR_UPDATE |
cp -f /etc/pki/CA/alcasar-ca.crt $DIR_UPDATE |
cp -f /etc/pki/CA/private/alcasar-ca.key $DIR_UPDATE |
# Sauvegarde de la base des usagers |
/usr/local/sbin/alcasar-mysql.sh -dump |
cp /var/Save/base/`ls /var/Save/base|tail -1` $DIR_UPDATE |
55,38 → 54,50 |
cp -rf $DIR_ETC/* $DIR_UPDATE/etc/ |
# sauvegarde du fichier alcasar-iptables.sh (pour savoir si on filtre les protocoles) |
cp -f $DIR_BIN/alcasar-iptables.sh $DIR_UPDATE |
# particularité des versions |
# version < 2.1 |
if ([ $MAJ_RUNNING_VERSION -lt 2 ] || ([ $MAJ_RUNNING_VERSION -eq 2 ] && [ $MIN_RUNNING_VERSION -lt 1 ])) |
then |
rm -f $DIR_UPDATE/etc/alcasar-dns-name # changement de format |
rm -f $DIR_UPDATE/etc/alcasar-macallowed # ajout d'un commentaire par @MAC |
rm -rf $DIR_UPDATE/etc/digest # hostname=alcasar |
else |
# Sauvegarde des certificats (serveur et CA) |
mkdir $DIR_UPDATE/pki/ |
cert_date=`/usr/bin/openssl x509 -noout -in /etc/pki/tls/certs/alcasar.crt -dates|grep After|cut -d"=" -f2` |
cp -f /etc/pki/tls/certs/alcasar.crt $DIR_UPDATE |
cp -f /etc/pki/tls/private/alcasar.key $DIR_UPDATE |
cp -f /etc/pki/CA/alcasar-ca.crt $DIR_UPDATE |
cp -f /etc/pki/CA/private/alcasar-ca.key $DIR_UPDATE |
fi |
# création de l'archive |
cd /tmp |
tar -cf alcasar-conf.tar conf/ |
gzip -f alcasar-conf.tar |
rm -rf $DIR_UPDATE |
# particularismes des versions |
rm $DIR_UPDATE/etc/alcasar-dns-name # changement du format à partir de la version 2.1 |
rm $DIR_UPDATE/etc/alcasar-macallowed # changement du format à partir de la version 2.1 |
# voir pour $DIR_UPDATE/etc/digest/ |
;; |
--load|-load) |
cd /tmp |
tar -xf /tmp/alcasar-conf.tar.gz |
# Récupération du logo |
cp -f $DIR_UPDATE/organisme.png $DIR_WEB/images/ |
[ -e $DIR_UPDATE/organisme.png ] && cp -f $DIR_UPDATE/organisme.png $DIR_WEB/images/ |
chown apache:apache $DIR_WEB/images/organisme.png $DIR_WEB/intercept.php |
# Récupération des certificats (CA et serveur) |
cp -f $DIR_UPDATE/alcasar-ca.crt /etc/pki/CA/ |
cp -f $DIR_UPDATE/alcasar-ca.key /etc/pki/CA/private/ |
cp -f $DIR_UPDATE/alcasar.crt /etc/pki/tls/certs/ |
cp -f $DIR_UPDATE/alcasar.key /etc/pki/tls/private/ |
[ -e $DIR_UPDATE/alcasar-ca.crt ] && cp -f $DIR_UPDATE/alcasar-ca.crt /etc/pki/CA/ |
[ -e $DIR_UPDATE/alcasar-ca.key ] && cp -f $DIR_UPDATE/alcasar-ca.key /etc/pki/CA/private/ |
[ -e $DIR_UPDATE/alcasar.crt ] && cp -f $DIR_UPDATE/alcasar.crt /etc/pki/tls/certs/ |
[ -e $DIR_UPDATE/alcasar.key ] && cp -f $DIR_UPDATE/alcasar.key /etc/pki/tls/private/ |
chown -R root:apache /etc/pki |
chmod -R 750 /etc/pki |
# Import de la dernière base usagers |
mysql -u$DB_USER -p$radiuspwd < `ls $DIR_UPDATE/radius*` |
# Récupération des fichiers de Dansguardian |
cp -f $DIR_UPDATE/exceptioniplist /etc/dansguardian/lists/ |
cp -f $DIR_UPDATE/exceptionsitelist /etc/dansguardian/lists/ |
cp -f $DIR_UPDATE/bannedsitelist /etc/dansguardian/lists/ |
cp -f $DIR_UPDATE/exceptionurllist /etc/dansguardian/lists/ |
cp -f $DIR_UPDATE/bannedurllist /etc/dansguardian/lists/ |
cp -rf $DIR_UPDATE/ossi /etc/dansguardian/lists/blacklists/ |
[ -e $DIR_UPDATE/exceptioniplist ] && cp -f $DIR_UPDATE/exceptioniplist /etc/dansguardian/lists/ |
[ -e $DIR_UPDATE/exceptionsitelist ] && cp -f $DIR_UPDATE/exceptionsitelist /etc/dansguardian/lists/ |
[ -e $DIR_UPDATE/bannedsitelist ] && cp -f $DIR_UPDATE/bannedsitelist /etc/dansguardian/lists/ |
[ -e $DIR_UPDATE/exceptionurllist ] && cp -f $DIR_UPDATE/exceptionurllist /etc/dansguardian/lists/ |
[ -e $DIR_UPDATE/bannedurllist ] && cp -f $DIR_UPDATE/bannedurllist /etc/dansguardian/lists/ |
[ -d $DIR_UPDATE/ossi ] && cp -rf $DIR_UPDATE/ossi /etc/dansguardian/lists/blacklists/ |
chown -R dansguardian:apache /etc/dansguardian/lists |
chmod -R g+rw /etc/dansguardian/lists |
# On active/désactive la BL |
99,7 → 110,7 |
else $DIR_SBIN/alcasar-bl.sh --on |
fi |
# Récupération des paramêtres locaux (règles de filtrage, fichiers d'exception, comptes de gestion, etc.) |
cp -rf $DIR_UPDATE/etc/* $DIR_ETC/ |
[ -d $DIR_UPDATE/etc ] cp -rf $DIR_UPDATE/etc/* $DIR_ETC/ |
# Prise en compte des comptes de gestion (admin + manager + backup) |
$DIR_SBIN/alcasar-profil.sh --list |
# On active/désactive le filtrage de protocoles |