/alcasar.sh |
---|
507,21 → 507,46 |
echo " ou https://alcasar" >> $FIC_PARAM |
# Définition du premier compte lié au profil 'admin' |
header_install |
echo "Définissez un premier compte d'administration du portail" |
echo |
echo -n "Nom : " |
read admin_portail |
echo "- Nom du premier compte lié au profil 'admin' : $admin_portail" >> $FIC_PARAM |
if [ "$mode" = "install" ] |
then |
header_install |
echo "Pour administrer Alcasar via le centre de gestion WEB, trois profils de comptes ont été définis :" |
echo " - le profil 'admin' capable de réaliser toutes les opérations" |
echo " - le profil 'backup' lié uniquement aux fonctions d'archivage" |
echo " - le profil 'manager' lié uniquement aux fonctions de gestion des usagers" |
echo "" |
echo "Définissez le premier compte du profil 'admin' :" |
echo |
echo -n "Nom : " |
read admin_portail |
echo "- Nom du premier compte lié au profil 'admin' : $admin_portail" >> $FIC_PARAM |
# Création du fichier de clés de ce compte dans le profil "admin" |
[ -d $DIR_DEST_ETC/digest ] && rm -rf $DIR_DEST_ETC/digest |
mkdir -p $DIR_DEST_ETC/digest |
chmod 755 $DIR_DEST_ETC/digest |
until [ -s $DIR_DEST_ETC/digest/key_admin ] |
do |
/usr/sbin/htdigest -c $DIR_DEST_ETC/digest/key_admin $HOSTNAME $admin_portail |
done |
# Liste des comptes liés aux Création des fichiers de clés des deux autres profils (backup + manager) contenant ce compte |
$DIR_DEST_SBIN/alcasar-profil.sh --list |
[ -d $DIR_DEST_ETC/digest ] && rm -rf $DIR_DEST_ETC/digest |
mkdir -p $DIR_DEST_ETC/digest |
chmod 755 $DIR_DEST_ETC/digest |
until [ -s $DIR_DEST_ETC/digest/key_admin ] |
do |
/usr/sbin/htdigest -c $DIR_DEST_ETC/digest/key_admin $HOSTNAME $admin_portail |
done |
$DIR_DEST_SBIN/alcasar-profil.sh --list |
else # version < 2.1 |
if ([ $MAJ_RUNNING_VERSION -lt 2 ] || ([ $MAJ_RUNNING_VERSION -eq 2 ] && [ $MIN_RUNNING_VERSION -lt 1 ])) |
then |
echo "Cette mise à jour nécessite de redéfinir le premier compte d'administration du portail" |
echo |
echo -n "Nom : " |
read admin_portail |
echo "- Nom du premier compte lié au profil 'admin' : $admin_portail" >> $FIC_PARAM |
[ -d $DIR_DEST_ETC/digest ] && rm -rf $DIR_DEST_ETC/digest |
mkdir -p $DIR_DEST_ETC/digest |
chmod 755 $DIR_DEST_ETC/digest |
until [ -s $DIR_DEST_ETC/digest/key_admin ] |
do |
/usr/sbin/htdigest -c $DIR_DEST_ETC/digest/key_admin $HOSTNAME $admin_portail |
done |
$DIR_DEST_SBIN/alcasar-profil.sh --list |
fi |
fi |
# synchronisation horaire |
ntpd -q -g & |
# Sécurisation du centre |
613,7 → 638,7 |
AC () |
{ |
$SED "s?ifcfg-eth.?ifcfg-$INTIF?g" $DIR_DEST_BIN/alcasar-CA.sh |
$DIR_DEST_BIN/alcasar-CA.sh $mode |
$DIR_DEST_BIN/alcasar-CA.sh |
FIC_VIRTUAL_SSL=`find /etc/httpd/conf -type f -name *default_ssl*` |
[ -e /etc/httpd/conf/vhosts-ssl.default ] || cp $FIC_VIRTUAL_SSL /etc/httpd/conf/vhosts-ssl.default |
$SED "s?localhost.crt?alcasar.crt?g" $FIC_VIRTUAL_SSL |
1308,7 → 1333,7 |
$DIR_DEST_BIN/alcasar-conf.sh --load |
fi |
chown -R root:apache $DIR_DEST_ETC/* |
chmod -R o-rwx $DIR_DEST_ETC/* |
chmod -R 440 $DIR_DEST_ETC/* |
chmod ug+x $DIR_DEST_ETC/digest $DIR_DEST_ETC/alcasar-dnsfilter* |
cd $DIR_INSTALL |
echo "" |
1372,6 → 1397,10 |
done |
if [ "$response" = "o" ] || [ "$response" = "O" ] || [ "$response" = "y" ] || [ "$response" = "Y" ] |
then |
RUNNING_VERSION=`cat $DIR_WEB/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` |
# On crée le fichier de conf de la version actuelle |
chmod u+x $DIR_SCRIPTS/alcasar-conf.sh |
$DIR_SCRIPTS/alcasar-conf.sh --create |
/CHANGELOG |
---|
2,6 → 2,7 |
************ CHANGELOG *********** |
---- 2.1a ---- |
- amélioration de la gestion des RPM 'wget' au lieu de 'curl' et changement de repository en 'live' |
- exception au filtrage réseau et DNS (double instance de dnsmasq) |
- ajout d'un commentaire pour les exceptions à l'authentification |
- possibilité d'imprimer un ticket de session et simplification des champs de saisie (thank's to Geoffroy MUSITELLI) |
11,7 → 12,7 |
- installation à partir d'un mandriva 2010.2 |
- travail d'HAVP en mémoire plutôt que sur le disque |
- distinction des fichiers de log (traçabilité - ssh - accès exterieur) |
- amélioration du processus de mise à jour |
- amélioration du processus de mise à jour (prise en compte du numéro de version) |
---- 2.0.1 ---- |
- simplification du processus de mise à jour (prise en compte mdv 2010.2) |
- déplacement du répertoire 'digest' vers /usr/local/etc/ |
/scripts/alcasar-CA.sh |
---|
169,18 → 169,11 |
# thus, hostname must be 36 chars or less. If it's too big, |
# try removing domain (merci REXY ;-) ). |
hostname_len=`echo $hostname| wc -c` |
if [ $hostname_len -gt 36 ]; |
then |
hostname=`echo $hostname | cut -d '.' -f 1` |
fi |
if [ ! -f /etc/sysconfig/network-scripts/ifcfg-eth1 ] |
then |
echo "Impossible de déterminer l'@-IP" |
exit 1 |
fi |
IPADDR=`cat /etc/sysconfig/network-scripts/ifcfg-eth1 |grep IPADDR|cut -d"=" -f2` |
CAMAIL=ca@$hostname |
SRVMAIL=apache@$hostname |
/scripts/alcasar-conf.sh |
---|
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 |
/scripts/sbin/alcasar-version.sh |
---|
0,0 → 1,56 |
#!/bin/sh |
# $Id: alcasar-version-list.sh 393 2011-01-02 10:00:53Z franck $ |
# alcasar-version-list.sh |
# by Rexy |
# This script is distributed under the Gnu General Public License (GPL) |
# permet de connaitre la version d'ALCASAR en production/stable pour permettre une éventuelle MAJ |
VERSION="/var/www/html/VERSION" |
SITE_VERSION="version.alcasar.info" |
MAJ="False" |
DNS_VERSION_L=`dig $SITE_VERSION txt | grep ^$SITE_VERSION | cut -d"\"" -f2` |
DNS_VERSION=`echo $DNS_VERSION_L|cut -d" " -f1` |
MAJ_DNS_VERSION=`echo $DNS_VERSION|cut -d"." -f1` |
MIN_DNS_VERSION=`echo $DNS_VERSION|cut -d"." -f2` |
UPD_DNS_VERSION=`echo $DNS_VERSION|cut -d"." -f3` |
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` |
#compare major number |
if [ $MAJ_RUNNING_VERSION -lt $MAJ_DNS_VERSION ] |
then |
MAJ="True" |
fi |
#compare minor number |
if [ $MAJ_RUNNING_VERSION -eq $MAJ_DNS_VERSION ] |
then |
if [ $MIN_RUNNING_VERSION -lt $MIN_DNS_VERSION ] |
then |
MAJ="True" |
fi |
#compare update number |
if [ $MIN_DNS_VERSION -eq $MIN_RUNNING_VERSION ] |
then |
if [ -n "$UPD_DNS_VERSION" ] |
then |
if [ -z "$UPD_RUNNING_VERSION" ] |
then |
MAJ="True" |
else |
if [ $UPD_RUNNING_VERSION -lt $UPD_DNS_VERSION ] |
then |
MAJ="True" |
fi |
fi |
fi |
fi |
fi |
if [ $MAJ = "True" ] |
then |
echo "An updated version is available ($DNS_VERSION)" |
else |
echo "The Running version ($RUNNING_VERSION) is up to date" |
fi |
Property changes: |
Added: svn:eol-style |
+native |
\ No newline at end of property |
Added: svn:executable |
+* |
\ No newline at end of property |
/scripts/sbin/alcasar-version-list.sh |
---|
6,21 → 6,51 |
# This script is distributed under the Gnu General Public License (GPL) |
# permet de connaitre la version d'ALCASAR en production/stable pour permettre une éventuelle MAJ |
NEW_VERSION="/var/www/html/VERSION-ONLINE" |
VERSION="/var/www/html/VERSION" |
SITE_VERSION="version.alcasar.info" |
MAJ="False" |
DNS_VERSION_L=`dig $SITE_VERSION txt | grep ^$SITE_VERSION | cut -d"\"" -f2` |
DNS_VERSION=`echo $DNS_VERSION_L|cut -d" " -f1` |
MAJ_DNS_VERSION=`echo $DNS_VERSION|cut -d"." -f1` |
MIN_DNS_VERSION=`echo $DNS_VERSION|cut -d"." -f2` |
UPD_DNS_VERSION=`echo $DNS_VERSION|cut -d"." -f3` |
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` |
#compare major number |
if [ $MAJ_RUNNING_VERSION -lt $MAJ_DNS_VERSION ] |
then |
MAJ="True" |
fi |
#compare minor number |
if [ $MAJ_RUNNING_VERSION -eq $MAJ_DNS_VERSION ] |
then |
if [ $MIN_RUNNING_VERSION -lt $MIN_DNS_VERSION ] |
then |
MAJ="True" |
fi |
#compare update number |
if [ $MIN_DNS_VERSION -eq $MIN_RUNNING_VERSION ] |
then |
if [ -n "$UPD_DNS_VERSION" ] |
then |
if [ -z "$UPD_RUNNING_VERSION" ] |
then |
MAJ="True" |
else |
if [ $UPD_RUNNING_VERSION -lt $UPD_DNS_VERSION ] |
then |
MAJ="True" |
fi |
fi |
fi |
fi |
fi |
MAJ=`dig $SITE_VERSION txt | grep TXT | awk '{printf $5}'` |
#echo $MAJ |
cat $MAJ | sed -e 's/^".*$//g' |
echo $MAJ |
VERS_actuelle=` cat $VERSION | awk '{printf $1}'` |
#echo $VERS_actuelle |
exit 0 |
if ( $VERS_actuelle <> $MAJ ) |
if [ $MAJ = "True" ] |
then |
echo "Mise à jour disponible" > $NEW_VERSION |
echo "An updated version is available ($DNS_VERSION)" |
else |
echo "Vos disposez de la dernière MAJ stable" > $NEW_VERSION |
echo "The Running version ($RUNNING_VERSION) is up to date" |
fi |