39,6 → 39,7 |
VERSION=`cat VERSION` |
DATE=`date '+%d %B %Y - %Hh%M'` |
DATE_SHORT=`date '+%d/%m/%Y'` |
Lang=`echo $LANG|cut -c 1-2` |
# ******* Files parameters - paramètres fichiers ********* |
DIR_INSTALL=`pwd` # répertoire d'installation |
DIR_CONF="$DIR_INSTALL/conf" # répertoire d'installation contenant les fichiers de configuration |
59,8 → 60,7 |
DOMAIN="localdomain" # domaine local |
EXTIF="eth0" # ETH0 est l'interface connectée à Internet (Box FAI) |
INTIF="eth1" # ETH1 est l'interface connectée au réseau local de consultation |
CUSTOM_PRIVATE_NETWORK_MASK="192.168.182.0/24" # adresse du réseau de consultation proposée par défaut |
SQUID_PORT="3128" # Port d'écoute du proxy Squid |
DEFAULT_PRIVATE_NETWORK_MASK="192.168.182.0/24" # adresse du réseau de consultation proposée par défaut |
# ****** Paths - chemin des commandes ******* |
SED="/bin/sed -i" |
# ****************** End of global parameters ********************* |
80,8 → 80,10 |
################################################################## |
testing () |
{ |
echo "Tests des paramètres réseau." |
echo -n "Network parameters tests : " |
if [ $Lang == "fr" ] |
then echo -n "Tests des paramètres réseau :" |
else echo -n "Network parameters tests : " |
fi |
# We test the Ethernet links state |
for i in $EXTIF $INTIF |
do |
89,12 → 91,16 |
sleep 3 |
if [ "`/usr/sbin/ethtool $i|grep Link|cut -d' ' -f3`" != "yes" ] |
then |
echo "Échec" |
echo "Le lien réseau de la carte $i n'est pas actif." |
echo "Réglez ce problème puis relancez ce script." |
echo "Failed" |
echo "The link state of $i interface id down." |
echo "Resolv this problem, then restart this script." |
if [ $Lang == "fr" ] |
then |
echo "Échec" |
echo "Le lien réseau de la carte $i n'est pas actif." |
echo "Réglez ce problème puis relancez ce script." |
else |
echo "Failed" |
echo "The link state of $i interface id down." |
echo "Resolv this problem, then restart this script." |
fi |
exit 0 |
fi |
echo -n "." |
101,19 → 107,25 |
done |
# On teste la présence d'un routeur par défaut (Box FAI) |
if [ `/sbin/route -n|grep -c ^0.0.0.0` -ne "1" ] ; then |
echo "Échec" |
echo "Vous n'avez pas configuré l'accès à Internet ou le câble réseau n'est pas sur la bonne carte." |
echo "Réglez ce problème puis relancez ce script." |
echo "Failed" |
echo "You haven't configured Internet access or Internet link is on the wrong Ethernet card" |
echo "Resolv this problem, then restart this script." |
if [ $Lang == "fr" ] |
then |
echo "Échec" |
echo "Vous n'avez pas configuré l'accès à Internet ou le câble réseau n'est pas sur la bonne carte." |
echo "Réglez ce problème puis relancez ce script." |
else |
echo "Failed" |
echo "You haven't configured Internet access or Internet link is on the wrong Ethernet card" |
echo "Resolv this problem, then restart this script." |
fi |
exit 0 |
fi |
echo -n "." |
# On traite le cas où l'interface configurée lors de l'installation est "eth1" au lieu de "eth0" (mystère sur certaines version de BIOS et de VirtualBox) |
if [ `/sbin/route -n|grep ^0.0.0.0|grep -c eth1` -eq "1" ] ; then |
echo "La configuration des cartes réseau va être corrigée." |
echo "The Ethernet card configuration will be corrected." |
if [ $Lang == "fr" ] |
then echo "La configuration des cartes réseau va être corrigée." |
else echo "The Ethernet card configuration will be corrected." |
fi |
/etc/init.d/network stop |
mv -f /etc/sysconfig/network-scripts/ifcfg-eth1 /etc/sysconfig/network-scripts/ifcfg-eth0 |
$SED "s?eth1?eth0?g" /etc/sysconfig/network-scripts/ifcfg-eth0 |
120,11 → 132,15 |
/etc/init.d/network start |
echo 0 > /proc/sys/net/ipv4/conf/all/log_martians |
sleep 2 |
echo "Configuration corrigée" |
echo "Configuration updated" |
if [ $Lang == "fr" ] |
then echo "Configuration corrigée" |
else echo "Configuration updated" |
fi |
sleep 2 |
echo "Vous pouvez relancer ce script." |
echo "You can restart this script." |
if [ $Lang == "fr" ] |
then echo "Vous pouvez relancer ce script." |
else echo "You can restart this script." |
fi |
exit 0 |
fi |
echo -n "." |
133,12 → 149,16 |
arp_reply=`/usr/sbin/arping -b -I$EXTIF -c1 -w2 $IP_GW|grep response|cut -d" " -f2` |
if [ $(expr $arp_reply) -eq 0 ] |
then |
echo "Échec" |
echo "Le routeur de site ou la Box Internet ($IP_GW) ne répond pas." |
echo "Réglez ce problème puis relancez ce script." |
echo "Failed" |
echo "The Internet gateway doesn't answered" |
echo "Resolv this problem, then restart this script." |
if [ $Lang == "fr" ] |
then |
echo "Échec" |
echo "Le routeur de site ou la Box Internet ($IP_GW) ne répond pas." |
echo "Réglez ce problème puis relancez ce script." |
else |
echo "Failed" |
echo "The Internet gateway doesn't answered" |
echo "Resolv this problem, then restart this script." |
fi |
exit 0 |
fi |
echo -n "." |
147,12 → 167,16 |
/usr/bin/curl www.google.fr -s -o /tmp/con_ok.html |
if [ ! -e /tmp/con_ok.html ] |
then |
echo "La tentative de connexion vers Internet a échoué (google.fr)." |
echo "Vérifiez que la carte $EXTIF est bien connectée au routeur du FAI." |
echo "Vérifiez la validité des adresses IP des DNS." |
echo "The Internet connection try failed (google.fr)." |
echo "Please, verify that the $EXTIF card is connected with the Internet gateway." |
echo "Verify the DNS IP addresses" |
if [ $Lang == "fr" ] |
then |
echo "La tentative de connexion vers Internet a échoué (google.fr)." |
echo "Vérifiez que la carte $EXTIF est bien connectée au routeur du FAI." |
echo "Vérifiez la validité des adresses IP des DNS." |
else |
echo "The Internet connection try failed (google.fr)." |
echo "Please, verify that the $EXTIF card is connected with the Internet gateway." |
echo "Verify the DNS IP addresses" |
fi |
exit 0 |
fi |
rm -rf /tmp/con_ok.html |
173,8 → 197,10 |
PTN='^[a-zA-Z0-9-]*$' |
until [[ $(expr $ORGANISME : $PTN) -gt 0 ]] |
do |
echo "Entrez le nom de votre organisme : " |
echo -n "Enter the name of your organisation : " |
if [ $Lang == "fr" ] |
then echo "Entrez le nom de votre organisme : " |
else echo -n "Enter the name of your organisation : " |
fi |
read ORGANISME |
if [ "$ORGANISME" = "" ] |
then |
216,15 → 242,15 |
$SED "s?^radiuspwd=.*?radiuspwd=\"$radiuspwd\"?g" $DIR_DEST_SBIN/alcasar-mysql.sh $DIR_DEST_BIN/alcasar-conf.sh |
# On génère le début du fichier récapitulatif |
cat <<EOF > $FIC_PARAM |
######################################################## |
## ## |
## Fichier récapitulatif des paramètres d'ALCASAR ## |
## ## |
######################################################## |
################################################ |
## ## |
## ALCASAR Paramèters ## |
## ## |
################################################ |
|
- Date d'installation : $DATE |
- Version istallée : $VERSION |
- Organisme : $ORGANISME |
- Install date : $DATE |
- Version : $VERSION |
- Organism : $ORGANISME |
EOF |
chmod o-rwx $FIC_PARAM |
} # End of init () |
232,8 → 258,7 |
################################################################## |
## Fonction network ## |
## - Définition du plan d'adressage du réseau de consultation ## |
## (merci à Alexandre Trias pour le calcul de masque et RegEx) ## |
## - Nommage DNS du système (portail + nom d'organisme) ## |
## - Nommage DNS du système ## |
## - Configuration de l'interface eth1 (réseau de consultation) ## |
## - Modification du fichier /etc/hosts ## |
## - Configuration du serveur de temps (NTP) ## |
242,54 → 267,51 |
network () |
{ |
header_install |
echo "Par défaut, le plan d'adressage du réseau de consultation est : $CUSTOM_PRIVATE_NETWORK_MASK" |
if [ $Lang == "fr" ] |
then echo "Par défaut, le plan d'adressage IP du réseau de consultation est : $DEFAULT_PRIVATE_NETWORK_MASK" |
else echo "The default consultation network IP address is : $DEFAULT_PRIVATE_NETWORK_MASK" |
fi |
response=0 |
PTN='^[oOnN]$' |
PTN='^[oOyYnN]$' |
until [[ $(expr $response : $PTN) -gt 0 ]] |
do |
echo -n "Voulez-vous utiliser ce plan d'adressage (recommandé) (O/n)? : " |
if [ $Lang == "fr" ] |
then echo -n "Voulez-vous utiliser ce plan d'adressage (recommandé) (O/n)? : " |
else echo -n "Do you want to use it (recommanded) (Y/n)? : " |
fi |
read response |
done |
if [ "$response" = "n" ] || [ "$response" = "N" ] |
then |
CUSTOM_PRIVATE_NETWORK_MASK="0" |
PRIVATE_NETWORK_MASK="0" |
PTN='^\([01]\?[[:digit:]][[:digit:]]\?\|2[0-4][[:digit:]]\|25[0-5]\).\([01]\?[[:digit:]][[:digit:]]\?\|2[0-4][[:digit:]]\|25[0-5]\).\([01]\?[[:digit:]][[:digit:]]\?\|2[0-4][[:digit:]]\|25[0-5]\).\([01]\?[[:digit:]][[:digit:]]\?\|2[0-4][[:digit:]]\|25[0-5]\)/[012]\?[[:digit:]]$' |
until [[ $(expr $CUSTOM_PRIVATE_NETWORK_MASK : $PTN) -gt 0 ]] |
until [[ $(expr $PRIVATE_NETWORK_MASK : $PTN) -gt 0 ]] |
do |
echo -n "Entrez un plan d'adressage au format CIDR (a.b.c.d/xx) : " |
read CUSTOM_PRIVATE_NETWORK_MASK |
if [ $Lang == "fr" ] |
then echo -n "Entrez un plan d'adressage IP au format CIDR (a.b.c.d/xx) : " |
else echo -n "Enter a network IP address in CIDR format (a.b.c.d/xx) : " |
fi |
read PRIVATE_NETWORK_MASK |
|
done |
else |
PRIVATE_NETWORK_MASK=$DEFAULT_PRIVATE_NETWORK_MASK |
fi |
# Récupération de la config réseau côté "LAN de consultation" |
# Définition de la config réseau côté "LAN de consultation" |
hostname $HOSTNAME |
echo "- Nom du système : $HOSTNAME" >> $FIC_PARAM |
PRIVATE_NETWORK=`/bin/ipcalc -n $CUSTOM_PRIVATE_NETWORK_MASK | cut -d"=" -f2` # @ réseau de consultation (ex.: 192.168.182.0) |
private_prefix=`/bin/ipcalc -p $CUSTOM_PRIVATE_NETWORK_MASK |cut -d"=" -f2` # prefixe du réseau (ex. 24) |
PRIVATE_NETWORK_MASK=$PRIVATE_NETWORK/$private_prefix # @ réseau + masque (x.0.0.0/8 ou x.y.0.0/16 ou x.y.z.0/24) |
classe=$((private_prefix/8)); # classe de réseau (ex.: 2=classe B, 3=classe C) |
PRIVATE_NETWORK_SHORT=`echo $PRIVATE_NETWORK | cut -d"." -f1-$classe`. # @ compatible hosts.allow et hosts.deny (ex.: 192.168.182.) |
PRIVATE_MASK=`/bin/ipcalc -m $PRIVATE_NETWORK_MASK | cut -d"=" -f2` # masque réseau de consultation (ex.: 255.255.255.0) |
PRIVATE_BROADCAST=`/bin/ipcalc -b $PRIVATE_NETWORK_MASK | cut -d"=" -f2` # @ broadcast réseau de consultation (ex.: 192.168.182.255) |
TMP_MASK=`echo $PRIVATE_NETWORK_MASK|cut -d"/" -f2`; HALF_MASK=`expr $TMP_MASK + 1` # masque du 1/2 réseau de consultation (ex.: 25) |
PRIVATE_STAT_IP=$PRIVATE_NETWORK/$HALF_MASK # plage des adresses statiques (ex.: 192.168.182.0/25) |
PRIVATE_STAT_MASK=`/bin/ipcalc -m $PRIVATE_STAT_IP/$HALF_MASK | cut -d"=" -f2` # masque des adresses statiques (ex.: 255.255.255.128) |
echo "- Hostname : $HOSTNAME" >> $FIC_PARAM |
PRIVATE_NETWORK=`/bin/ipcalc -n $DEFAULT_PRIVATE_NETWORK_MASK | cut -d"=" -f2` # @ réseau de consultation (ex.: 192.168.182.0) |
PRIVATE_PREFIX=`/bin/ipcalc -p $DEFAULT_PRIVATE_NETWORK_MASK |cut -d"=" -f2` # prefixe du réseau (ex. 24) |
PRIVATE_NETWORK_MASK=$PRIVATE_NETWORK/$PRIVATE_PREFIX # @ réseau + masque (x.0.0.0/8 ou x.y.0.0/16 ou x.y.z.0/24) |
classe=$((PRIVATE_PREFIX/8)); # classe de réseau (ex.: 2=classe B, 3=classe C) |
classe_sup=`expr $classe + 1` |
classe_sup_sup=`expr $classe + 2` |
private_network_ending=`echo $PRIVATE_NETWORK | cut -d"." -f$classe_sup` |
private_broadcast_ending=`echo $PRIVATE_BROADCAST | cut -d"." -f$classe_sup` |
private_plage=`expr $private_broadcast_ending - $private_network_ending + 1` |
private_half_plage=`expr $private_plage / 2` |
private_dyn=`expr $private_half_plage + $private_network_ending` |
private_dyn_ip_network=`echo $PRIVATE_NETWORK | cut -d"." -f1-$classe`"."$private_dyn"."`echo $PRIVATE_NETWORK | cut -d"." -f$classe_sup_sup-5` |
PRIVATE_DYN_IP=`echo $private_dyn_ip_network | cut -d"." -f1-4`/$HALF_MASK # plage des adresses dynamiques (ex.: 192.168.182.128/25) |
PRIVATE_DYN_MASK=`/bin/ipcalc -m $PRIVATE_DYN_IP/$HALF_MASK | cut -d"=" -f2` # masque des adresses dynamiques (ex.: 255.255.255.128) |
private_dyn_ip_network=`echo $PRIVATE_DYN_IP | cut -d"/" -f1` # plage des adresses dynamiques sans le masque (ex.: 192.168.182.0) |
private_dyn_ip_end=`echo $private_dyn_ip_network | cut -d"." -f4` # dernier octet de la plage des adresses dynamiques (ex.: 128) |
PRIVATE_DYN_FIRST_IP=`echo $private_dyn_ip_network | cut -d"." -f1-3`"."`expr $private_dyn_ip_end + 1` # 1ère adresse de la plage dynamique (ex.: 192.168.182.129) |
private_broadcast_end=`echo $PRIVATE_BROADCAST | cut -d"." -f4` |
PRIVATE_DYN_LAST_IP=`echo $PRIVATE_BROADCAST | cut -d"." -f1-3`"."`expr $private_broadcast_end - 1` # dernière adresse de la plage dynamique (ex.: 192.168.182.254) |
PRIVATE_IP=`echo $PRIVATE_NETWORK | cut -d"." -f1-3`"."`expr $private_network_end + 1` # @ip du portail (côté réseau de consultation) |
PRIVATE_NETWORK_SHORT=`echo $PRIVATE_NETWORK | cut -d"." -f1-$classe`. # @ compatible hosts.allow et hosts.deny (ex.: 192.168.182.) |
PRIVATE_MASK=`/bin/ipcalc -m $PRIVATE_NETWORK_MASK | cut -d"=" -f2` # masque réseau de consultation (ex.: 255.255.255.0) |
PRIVATE_BROADCAST=`/bin/ipcalc -b $PRIVATE_NETWORK_MASK | cut -d"=" -f2` # @ broadcast réseau de consultation (ex.: 192.168.182.255) |
PRIVATE_IP=`echo $PRIVATE_NETWORK | cut -d"." -f1-3`"."`expr $private_network_ending + 1` # @ip du portail (côté réseau de consultation) |
PRIVATE_DYN_FIRST_IP=`echo $PRIVATE_IP | cut -d"." -f1-3`"."`expr $private_network_ending + 1` # @ip du portail (côté réseau de consultation) |
PRIVATE_DYN_LAST_IP=`echo $PRIVATE_BROADCAST | cut -d"." -f1-3`"."`expr $private_network_ending - 1` # @ip du portail (côté réseau de consultation) |
# Récupération de la config réseau côté "Internet" |
[ -e /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF ] || cp /etc/sysconfig/network-scripts/ifcfg-$EXTIF /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF |
EXT_IP=`grep IPADDR /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF|cut -d"=" -f2` # @ip du portail (côté Internet) |
300,9 → 322,14 |
DNS2=${DNS2:=208.67.222.222} |
EXT_NETMASK=`grep NETMASK /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF|cut -d"=" -f2` |
EXT_GATEWAY=`grep GATEWAY /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF|cut -d"=" -f2` |
echo "- Adresse IP 'côté Internet' ($EXTIF) : $EXT_IP / $EXT_NETMASK" >> $FIC_PARAM |
echo "- Serveurs DNS renseignés : $DNS1 et $DNS2" >> $FIC_PARAM |
echo "- Routeur de sortie : $EXT_GATEWAY" >> $FIC_PARAM |
echo "- IP address 'Internet side' ($EXTIF) : $EXT_IP / $EXT_NETMASK" >> $FIC_PARAM |
echo "- Gateway : $EXT_GATEWAY" >> $FIC_PARAM |
echo "- DNS servers : $DNS1 et $DNS2" >> $FIC_PARAM |
echo "- IP address 'LAN side' ($INTIF) : $PRIVATE_IP/$PRIVATE_PREFIX" >> $FIC_PARAM |
echo "- Dynamic IP addresses (DHCP) : from $PRIVATE_DYN_FIRST_IP to $PRIVATE_DYN_LAST_IP" >> $FIC_PARAM |
echo "PRIVATE_NETWORK_MASK=$PRIVATE_NETWORK_MASK" > $DIR_DEST_ETC/alcasar-network |
echo "PRIVATE_IP=$PRIVATE_IP" >> $DIR_DEST_ETC/alcasar-network |
echo "DHCP=on" >> $DIR_DEST_ETC/alcasar-network |
# Configuration réseau |
cat <<EOF > /etc/sysconfig/network |
NETWORKING=yes |
315,9 → 342,6 |
127.0.0.1 localhost |
$PRIVATE_IP $HOSTNAME |
EOF |
echo "- Adresse IP 'côté réseau de consultation' ($INTIF) : $PRIVATE_IP / $PRIVATE_NETWORK_MASK" >> $FIC_PARAM |
echo " - plage d'adresses statiques : $PRIVATE_STAT_IP" >> $FIC_PARAM |
echo " - plage d'adresses dynamiques (via DHCP) : $PRIVATE_DYN_IP" >> $FIC_PARAM |
# Configuration de l'interface eth0 (Internet) |
cat <<EOF > /etc/sysconfig/network-scripts/ifcfg-$EXTIF |
DEVICE=$EXTIF |
437,22 → 461,34 |
</body> |
</html> |
EOF |
echo "- URL d'accès au centre de gestion : http://$HOSTNAME" >> $FIC_PARAM |
echo "- ALCASAR Control Center URL : http://$HOSTNAME" >> $FIC_PARAM |
# Définition du premier compte lié au profil 'admin' |
header_install |
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 : " |
if [ $Lang == "fr" ] |
then |
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 : " |
else |
echo "To manage Alcasar thru the WEB control center, three accounts profiles were defined :" |
echo " - the 'admin profile who can do all operations" |
echo " - the 'backup' profile link to backup functions" |
echo " - the 'manager' profile link to users management" |
echo "" |
echo "Define the first account of the 'admin' profile :" |
echo |
echo -n "Account : " |
fi |
read admin_portail |
echo "- Nom du premier compte lié au profil 'admin' : $admin_portail" >> $FIC_PARAM |
echo "- Name of the first account of the admin profile : $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 |
462,7 → 498,7 |
/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 |
else # mise à jour des versions < 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" |
469,7 → 505,7 |
echo |
echo -n "Nom : " |
read admin_portail |
echo "- Nom du premier compte lié au profil 'admin' : $admin_portail" >> $FIC_PARAM |
echo "- Name of the first user of admin profile : $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 |
718,7 → 754,7 |
ErrorDocument 404 https://$HOSTNAME |
</Directory> |
EOF |
echo "- URL pour le changement du mot de passe usager : https://$HOSTNAME/pass/" >> $FIC_PARAM |
echo "- User change password URL : https://$HOSTNAME/pass/" >> $FIC_PARAM |
} # End of param_web_radius () |
|
########################################################################################## |
750,15 → 786,15 |
unixipc chilli.eth1.ipc |
pidfile /var/run/chilli.eth1.pid |
net $PRIVATE_NETWORK_MASK |
dynip $PRIVATE_DYN_IP |
statip $PRIVATE_STAT_IP |
dhcpif $INTIF |
#nodynip |
#statip $PRIVATE_NETWORK_MASK |
ethers $DIR_DEST_ETC/alcasar-ethers |
domain localdomain |
dns1 $PRIVATE_IP |
dns2 $PRIVATE_IP |
uamlisten $PRIVATE_IP |
uamport 3990 |
dhcpif $INTIF |
ethers $DIR_DEST_ETC/alcasar-ethers |
macallowlocal |
locationname $HOSTNAME |
radiusserver1 127.0.0.1 |
781,7 → 817,7 |
touch $DIR_DEST_ETC/alcasar-macallowed |
chown root:apache $DIR_DEST_ETC/alcasar-* |
chmod 660 $DIR_DEST_ETC/alcasar-* |
echo "- URL de deconnexion du portail : http://alcasar:3990/logoff" >> $FIC_PARAM |
echo "- Disconnect URL : http://alcasar:3990/logoff" >> $FIC_PARAM |
# Configuration des fichier WEB d'interception (secret partagé avec coova-chilli et nom d'organisme) |
$SED "s?^\$uamsecret =.*?\$uamsecret = \"$secretuam\";?g" $DIR_WEB/intercept.php |
$SED "s?^\$userpassword=1.*?\$userpassword=1;?g" $DIR_WEB/intercept.php |
805,7 → 841,7 |
$SED "/^htcp_access allow localnet/d" /etc/squid/squid.conf |
$SED "/^always_direct allow localnet/d" /etc/squid/squid.conf |
# mode 'proxy transparent local' |
$SED "s?^http_port.*?http_port 127.0.0.1:$SQUID_PORT transparent?g" /etc/squid/squid.conf |
$SED "s?^http_port.*?http_port 127.0.0.1:3128 transparent?g" /etc/squid/squid.conf |
# emplacement et formatage standard des logs |
echo '#logformat common %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %>Hs %<st %Ss:%Sh' >> /etc/squid/squid.conf |
echo '#logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %>Hs %<st "%{Referer}>h" "%{User-Ag' >> /etc/squid/squid.conf |
1218,6 → 1254,7 |
$SED "s?^#ListenAddress 0\.0\.0\.0?ListenAddress $PRIVATE_IP?g" /etc/ssh/sshd_config |
# sshd n'est pas lancé automatiquement au démarrage |
/sbin/chkconfig --del sshd |
echo "SSH=off" >> $DIR_DEST_ETC/alcasar-network |
# Coloration des prompts |
[ -e /etc/bashrc.default ] || cp /etc/bashrc /etc/bashrc.default |
cp -f $DIR_CONF/bashrc /etc/. ; chmod 644 /etc/bashrc ; chown root:root /etc/bashrc |
1233,9 → 1270,11 |
do |
/sbin/chkconfig --add $i |
done |
# pour éviter les alertes de dépendance avec le service 'netfs'. |
# pour éviter les alertes de dépendance entre service. |
$SED "s?^# Required-Start.*?# Required-Start: \$local_fs \$network?g" /etc/init.d/mysqld |
$SED "s?^# Required-Stop.*?# Required-Stop: \$local_fs \$network?g" /etc/init.d/mysqld |
$SED "s?^# Should-Start.*?# Should-Start: radiusd ldap?g" /etc/init.d/httpd |
$SED "s?^# Should-Stop.*?# Should-Stop: radiusd ldap?g" /etc/init.d/httpd |
# On affecte le niveau de sécurité du système : type "fileserver" |
$SED "s?BASE_LEVEL=.*?BASE_LEVEL=fileserver?g" /etc/security/msec/security.conf |
# On supprime la vérification du mode promiscious des interfaces réseaux ( nombreuses alertes sur eth1 dûes à Tun0 ) |
1249,7 → 1288,7 |
# ignorer les erreurs ICMP bogus |
$SED "s?^ACCEPT_BOGUS_ERROR_RESPONSES=.*?ACCEPT_BOGUS_ERROR_RESPONSES=no?g" /etc/security/msec/level.fileserver |
sysctl -w net.ipv4.icmp_ignore_bogus_error_responses=1 |
# désactiver l’envoi et la réponse aux ICMP redirects |
# désactiver l'envoi et la réponse aux ICMP redirects |
accept_redirect=`grep accept_redirect /etc/sysctl.conf|wc -l` |
if [ "$accept_redirect" == "0" ] |
then |
1272,7 → 1311,7 |
fi |
$SED "s?tcp_syncookies.*?tcp_syncookies = 1?g" /etc/sysctl.conf |
sysctl -w net.ipv4.tcp_syncookies=1 |
# activer l’antispoofing niveau Noyau |
# activer l'antispoofing niveau Noyau |
$SED "s?^ENABLE_IP_SPOOFING_PROTECTION.*?ENABLE_IP_SPOOFING_PROTECTION=yes?g" /etc/security/msec/level.fileserver |
sysctl -w net.ipv4.conf.all.rp_filter=1 |
# ignorer le source routing |
1339,6 → 1378,7 |
then |
$DIR_DEST_BIN/alcasar-conf.sh --load |
fi |
rm -f /tmp/alcasar-conf* |
chown -R root:apache $DIR_DEST_ETC/* |
chmod -R 660 $DIR_DEST_ETC/* |
chmod ug+x $DIR_DEST_ETC/digest $DIR_DEST_ETC/alcasar-dnsfilter* |
1391,14 → 1431,18 |
if [ -e $DIR_WEB/VERSION ] |
then |
actual_version=`cat $DIR_WEB/VERSION` |
echo -n "La version "; echo -n $actual_version ; echo " d'ALCASAR est déjà installée"; |
echo -n "ALCASAR Version "; echo -n $actual_version ; echo " is already installed"; |
if [ $Lang == "fr" ] |
then echo -n "La version "; echo -n $actual_version ; echo " d'ALCASAR est déjà installée"; |
else echo -n "ALCASAR Version "; echo -n $actual_version ; echo " is already installed"; |
fi |
response=0 |
PTN='^[oOnNyY]$' |
until [[ $(expr $response : $PTN) -gt 0 ]] |
do |
echo "Voulez-vous effectuer une mise à jour (O/n)? "; |
echo -n "Do you want to update (Y/n)?"; |
if [ $Lang == "fr" ] |
then echo -n "Voulez-vous effectuer une mise à jour (O/n)? "; |
else echo -n "Do you want to update (Y/n)?"; |
fi |
read response |
done |
if [ "$response" = "o" ] || [ "$response" = "O" ] || [ "$response" = "y" ] || [ "$response" = "Y" ] |
1413,18 → 1457,23 |
mode="update" |
fi |
fi |
# System update - rpms install |
$DIR_SCRIPTS/alcasar-urpmi.sh |
if [ "$?" != "0" ] |
then |
exit 0 |
fi |
if [ -e /tmp/alcasar-conf.tar.gz ] |
# RPMs install |
$DIR_SCRIPTS/alcasar-urpmi.sh |
if [ "$?" != "0" ] |
then |
echo "#### Installation avec mise à jour ####" |
echo "#### Installation with update ####" |
exit 0 |
fi |
if [ -e $DIR_WEB/VERSION ] |
then |
# On désinstalle la version actuelle |
$DIR_SCRIPTS/sbin/alcasar-uninstall.sh |
fi |
if [ -e /tmp/alcasar-conf.tar.gz ] |
then |
if [ $Lang == "fr" ] |
then echo "#### Installation avec mise à jour ####" |
else echo "#### Installation with update ####" |
fi |
# On récupère le nom d'organisme à partir de fichier de conf |
tar -xvf /tmp/alcasar-conf.tar.gz conf/organisme |
ORGANISME=`cat $DIR_CONF/organisme` |
1436,7 → 1485,7 |
|
do |
$func |
# echo "*** 'debug' : end of function $func ***"; read a |
echo "*** 'debug' : end of function $func ***"; read a |
done |
;; |
-u | --uninstall) |