Line 1... |
Line 1... |
1 |
#!/bin/sh
|
1 |
#!/bin/sh
|
2 |
# $Id: alcasar.sh 589 2011-04-26 20:08:21Z richard $
|
2 |
# $Id: alcasar.sh 595 2011-05-04 21:51:30Z richard $
|
3 |
|
3 |
|
4 |
# alcasar.sh
|
4 |
# alcasar.sh
|
5 |
# by Franck BOUIJOUX, Pascal LEVANT and Richard REY
|
5 |
# by Franck BOUIJOUX, Pascal LEVANT and Richard REY
|
6 |
# This script is distributed under the Gnu General Public License (GPL)
|
6 |
# This script is distributed under the Gnu General Public License (GPL)
|
7 |
|
7 |
|
Line 37... |
Line 37... |
37 |
# post_install : Finalisation environnement ( sécurité, bannières, rotation logs, ...)
|
37 |
# post_install : Finalisation environnement ( sécurité, bannières, rotation logs, ...)
|
38 |
|
38 |
|
39 |
VERSION=`cat VERSION`
|
39 |
VERSION=`cat VERSION`
|
40 |
DATE=`date '+%d %B %Y - %Hh%M'`
|
40 |
DATE=`date '+%d %B %Y - %Hh%M'`
|
41 |
DATE_SHORT=`date '+%d/%m/%Y'`
|
41 |
DATE_SHORT=`date '+%d/%m/%Y'`
|
- |
|
42 |
Lang=`echo $LANG|cut -c 1-2`
|
42 |
# ******* Files parameters - paramètres fichiers *********
|
43 |
# ******* Files parameters - paramètres fichiers *********
|
43 |
DIR_INSTALL=`pwd` # répertoire d'installation
|
44 |
DIR_INSTALL=`pwd` # répertoire d'installation
|
44 |
DIR_CONF="$DIR_INSTALL/conf" # répertoire d'installation contenant les fichiers de configuration
|
45 |
DIR_CONF="$DIR_INSTALL/conf" # répertoire d'installation contenant les fichiers de configuration
|
45 |
DIR_SCRIPTS="$DIR_INSTALL/scripts" # répertoire d'installation contenant les scripts
|
46 |
DIR_SCRIPTS="$DIR_INSTALL/scripts" # répertoire d'installation contenant les scripts
|
46 |
DIR_SAVE="/var/Save" # répertoire de sauvegarde (ISO, backup, etc.)
|
47 |
DIR_SAVE="/var/Save" # répertoire de sauvegarde (ISO, backup, etc.)
|
Line 57... |
Line 58... |
57 |
# ******* Network parameters - paramètres réseau *******
|
58 |
# ******* Network parameters - paramètres réseau *******
|
58 |
HOSTNAME="alcasar" #
|
59 |
HOSTNAME="alcasar" #
|
59 |
DOMAIN="localdomain" # domaine local
|
60 |
DOMAIN="localdomain" # domaine local
|
60 |
EXTIF="eth0" # ETH0 est l'interface connectée à Internet (Box FAI)
|
61 |
EXTIF="eth0" # ETH0 est l'interface connectée à Internet (Box FAI)
|
61 |
INTIF="eth1" # ETH1 est l'interface connectée au réseau local de consultation
|
62 |
INTIF="eth1" # ETH1 est l'interface connectée au réseau local de consultation
|
62 |
CUSTOM_PRIVATE_NETWORK_MASK="192.168.182.0/24" # adresse du réseau de consultation proposée par défaut
|
63 |
DEFAULT_PRIVATE_NETWORK_MASK="192.168.182.0/24" # adresse du réseau de consultation proposée par défaut
|
63 |
SQUID_PORT="3128" # Port d'écoute du proxy Squid
|
- |
|
64 |
# ****** Paths - chemin des commandes *******
|
64 |
# ****** Paths - chemin des commandes *******
|
65 |
SED="/bin/sed -i"
|
65 |
SED="/bin/sed -i"
|
66 |
# ****************** End of global parameters *********************
|
66 |
# ****************** End of global parameters *********************
|
67 |
|
67 |
|
68 |
header_install ()
|
68 |
header_install ()
|
Line 78... |
Line 78... |
78 |
## Fonction TESTING ##
|
78 |
## Fonction TESTING ##
|
79 |
## - Test de la connectivité Internet ##
|
79 |
## - Test de la connectivité Internet ##
|
80 |
##################################################################
|
80 |
##################################################################
|
81 |
testing ()
|
81 |
testing ()
|
82 |
{
|
82 |
{
|
- |
|
83 |
if [ $Lang == "fr" ]
|
83 |
echo "Tests des paramètres réseau."
|
84 |
then echo -n "Tests des paramètres réseau :"
|
84 |
echo -n "Network parameters tests : "
|
85 |
else echo -n "Network parameters tests : "
|
- |
|
86 |
fi
|
85 |
# We test the Ethernet links state
|
87 |
# We test the Ethernet links state
|
86 |
for i in $EXTIF $INTIF
|
88 |
for i in $EXTIF $INTIF
|
87 |
do
|
89 |
do
|
88 |
/sbin/ip link set $i up
|
90 |
/sbin/ip link set $i up
|
89 |
sleep 3
|
91 |
sleep 3
|
90 |
if [ "`/usr/sbin/ethtool $i|grep Link|cut -d' ' -f3`" != "yes" ]
|
92 |
if [ "`/usr/sbin/ethtool $i|grep Link|cut -d' ' -f3`" != "yes" ]
|
91 |
then
|
93 |
then
|
- |
|
94 |
if [ $Lang == "fr" ]
|
- |
|
95 |
then
|
92 |
echo "Échec"
|
96 |
echo "Échec"
|
93 |
echo "Le lien réseau de la carte $i n'est pas actif."
|
97 |
echo "Le lien réseau de la carte $i n'est pas actif."
|
94 |
echo "Réglez ce problème puis relancez ce script."
|
98 |
echo "Réglez ce problème puis relancez ce script."
|
- |
|
99 |
else
|
95 |
echo "Failed"
|
100 |
echo "Failed"
|
96 |
echo "The link state of $i interface id down."
|
101 |
echo "The link state of $i interface id down."
|
97 |
echo "Resolv this problem, then restart this script."
|
102 |
echo "Resolv this problem, then restart this script."
|
- |
|
103 |
fi
|
98 |
exit 0
|
104 |
exit 0
|
99 |
fi
|
105 |
fi
|
100 |
echo -n "."
|
106 |
echo -n "."
|
101 |
done
|
107 |
done
|
102 |
# On teste la présence d'un routeur par défaut (Box FAI)
|
108 |
# On teste la présence d'un routeur par défaut (Box FAI)
|
103 |
if [ `/sbin/route -n|grep -c ^0.0.0.0` -ne "1" ] ; then
|
109 |
if [ `/sbin/route -n|grep -c ^0.0.0.0` -ne "1" ] ; then
|
- |
|
110 |
if [ $Lang == "fr" ]
|
- |
|
111 |
then
|
104 |
echo "Échec"
|
112 |
echo "Échec"
|
105 |
echo "Vous n'avez pas configuré l'accès à Internet ou le câble réseau n'est pas sur la bonne carte."
|
113 |
echo "Vous n'avez pas configuré l'accès à Internet ou le câble réseau n'est pas sur la bonne carte."
|
106 |
echo "Réglez ce problème puis relancez ce script."
|
114 |
echo "Réglez ce problème puis relancez ce script."
|
- |
|
115 |
else
|
107 |
echo "Failed"
|
116 |
echo "Failed"
|
108 |
echo "You haven't configured Internet access or Internet link is on the wrong Ethernet card"
|
117 |
echo "You haven't configured Internet access or Internet link is on the wrong Ethernet card"
|
109 |
echo "Resolv this problem, then restart this script."
|
118 |
echo "Resolv this problem, then restart this script."
|
- |
|
119 |
fi
|
110 |
exit 0
|
120 |
exit 0
|
111 |
fi
|
121 |
fi
|
112 |
echo -n "."
|
122 |
echo -n "."
|
113 |
# 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)
|
123 |
# 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)
|
114 |
if [ `/sbin/route -n|grep ^0.0.0.0|grep -c eth1` -eq "1" ] ; then
|
124 |
if [ `/sbin/route -n|grep ^0.0.0.0|grep -c eth1` -eq "1" ] ; then
|
- |
|
125 |
if [ $Lang == "fr" ]
|
115 |
echo "La configuration des cartes réseau va être corrigée."
|
126 |
then echo "La configuration des cartes réseau va être corrigée."
|
116 |
echo "The Ethernet card configuration will be corrected."
|
127 |
else echo "The Ethernet card configuration will be corrected."
|
- |
|
128 |
fi
|
117 |
/etc/init.d/network stop
|
129 |
/etc/init.d/network stop
|
118 |
mv -f /etc/sysconfig/network-scripts/ifcfg-eth1 /etc/sysconfig/network-scripts/ifcfg-eth0
|
130 |
mv -f /etc/sysconfig/network-scripts/ifcfg-eth1 /etc/sysconfig/network-scripts/ifcfg-eth0
|
119 |
$SED "s?eth1?eth0?g" /etc/sysconfig/network-scripts/ifcfg-eth0
|
131 |
$SED "s?eth1?eth0?g" /etc/sysconfig/network-scripts/ifcfg-eth0
|
120 |
/etc/init.d/network start
|
132 |
/etc/init.d/network start
|
121 |
echo 0 > /proc/sys/net/ipv4/conf/all/log_martians
|
133 |
echo 0 > /proc/sys/net/ipv4/conf/all/log_martians
|
122 |
sleep 2
|
134 |
sleep 2
|
- |
|
135 |
if [ $Lang == "fr" ]
|
123 |
echo "Configuration corrigée"
|
136 |
then echo "Configuration corrigée"
|
124 |
echo "Configuration updated"
|
137 |
else echo "Configuration updated"
|
- |
|
138 |
fi
|
125 |
sleep 2
|
139 |
sleep 2
|
- |
|
140 |
if [ $Lang == "fr" ]
|
126 |
echo "Vous pouvez relancer ce script."
|
141 |
then echo "Vous pouvez relancer ce script."
|
127 |
echo "You can restart this script."
|
142 |
else echo "You can restart this script."
|
- |
|
143 |
fi
|
128 |
exit 0
|
144 |
exit 0
|
129 |
fi
|
145 |
fi
|
130 |
echo -n "."
|
146 |
echo -n "."
|
131 |
# On test le lien vers le routeur par default
|
147 |
# On test le lien vers le routeur par default
|
132 |
IP_GW=`ip route list|grep ^default|cut -d" " -f3`
|
148 |
IP_GW=`ip route list|grep ^default|cut -d" " -f3`
|
133 |
arp_reply=`/usr/sbin/arping -b -I$EXTIF -c1 -w2 $IP_GW|grep response|cut -d" " -f2`
|
149 |
arp_reply=`/usr/sbin/arping -b -I$EXTIF -c1 -w2 $IP_GW|grep response|cut -d" " -f2`
|
134 |
if [ $(expr $arp_reply) -eq 0 ]
|
150 |
if [ $(expr $arp_reply) -eq 0 ]
|
135 |
then
|
151 |
then
|
- |
|
152 |
if [ $Lang == "fr" ]
|
- |
|
153 |
then
|
136 |
echo "Échec"
|
154 |
echo "Échec"
|
137 |
echo "Le routeur de site ou la Box Internet ($IP_GW) ne répond pas."
|
155 |
echo "Le routeur de site ou la Box Internet ($IP_GW) ne répond pas."
|
138 |
echo "Réglez ce problème puis relancez ce script."
|
156 |
echo "Réglez ce problème puis relancez ce script."
|
- |
|
157 |
else
|
139 |
echo "Failed"
|
158 |
echo "Failed"
|
140 |
echo "The Internet gateway doesn't answered"
|
159 |
echo "The Internet gateway doesn't answered"
|
141 |
echo "Resolv this problem, then restart this script."
|
160 |
echo "Resolv this problem, then restart this script."
|
- |
|
161 |
fi
|
142 |
exit 0
|
162 |
exit 0
|
143 |
fi
|
163 |
fi
|
144 |
echo -n "."
|
164 |
echo -n "."
|
145 |
# On teste la connectivité Internet
|
165 |
# On teste la connectivité Internet
|
146 |
rm -rf /tmp/con_ok.html
|
166 |
rm -rf /tmp/con_ok.html
|
147 |
/usr/bin/curl www.google.fr -s -o /tmp/con_ok.html
|
167 |
/usr/bin/curl www.google.fr -s -o /tmp/con_ok.html
|
148 |
if [ ! -e /tmp/con_ok.html ]
|
168 |
if [ ! -e /tmp/con_ok.html ]
|
149 |
then
|
169 |
then
|
- |
|
170 |
if [ $Lang == "fr" ]
|
- |
|
171 |
then
|
150 |
echo "La tentative de connexion vers Internet a échoué (google.fr)."
|
172 |
echo "La tentative de connexion vers Internet a échoué (google.fr)."
|
151 |
echo "Vérifiez que la carte $EXTIF est bien connectée au routeur du FAI."
|
173 |
echo "Vérifiez que la carte $EXTIF est bien connectée au routeur du FAI."
|
152 |
echo "Vérifiez la validité des adresses IP des DNS."
|
174 |
echo "Vérifiez la validité des adresses IP des DNS."
|
- |
|
175 |
else
|
153 |
echo "The Internet connection try failed (google.fr)."
|
176 |
echo "The Internet connection try failed (google.fr)."
|
154 |
echo "Please, verify that the $EXTIF card is connected with the Internet gateway."
|
177 |
echo "Please, verify that the $EXTIF card is connected with the Internet gateway."
|
155 |
echo "Verify the DNS IP addresses"
|
178 |
echo "Verify the DNS IP addresses"
|
- |
|
179 |
fi
|
156 |
exit 0
|
180 |
exit 0
|
157 |
fi
|
181 |
fi
|
158 |
rm -rf /tmp/con_ok.html
|
182 |
rm -rf /tmp/con_ok.html
|
159 |
echo ". : ok"
|
183 |
echo ". : ok"
|
160 |
} # end of testing
|
184 |
} # end of testing
|
Line 171... |
Line 195... |
171 |
# On affecte le nom d'organisme
|
195 |
# On affecte le nom d'organisme
|
172 |
ORGANISME=!
|
196 |
ORGANISME=!
|
173 |
PTN='^[a-zA-Z0-9-]*$'
|
197 |
PTN='^[a-zA-Z0-9-]*$'
|
174 |
until [[ $(expr $ORGANISME : $PTN) -gt 0 ]]
|
198 |
until [[ $(expr $ORGANISME : $PTN) -gt 0 ]]
|
175 |
do
|
199 |
do
|
- |
|
200 |
if [ $Lang == "fr" ]
|
176 |
echo "Entrez le nom de votre organisme : "
|
201 |
then echo "Entrez le nom de votre organisme : "
|
177 |
echo -n "Enter the name of your organisation : "
|
202 |
else echo -n "Enter the name of your organisation : "
|
- |
|
203 |
fi
|
178 |
read ORGANISME
|
204 |
read ORGANISME
|
179 |
if [ "$ORGANISME" = "" ]
|
205 |
if [ "$ORGANISME" = "" ]
|
180 |
then
|
206 |
then
|
181 |
ORGANISME=!
|
207 |
ORGANISME=!
|
182 |
fi
|
208 |
fi
|
Line 214... |
Line 240... |
214 |
$SED "s?^DB_RADIUS=.*?DB_RADIUS=\"$DB_RADIUS\"?g" $DIR_DEST_SBIN/alcasar-mysql.sh
|
240 |
$SED "s?^DB_RADIUS=.*?DB_RADIUS=\"$DB_RADIUS\"?g" $DIR_DEST_SBIN/alcasar-mysql.sh
|
215 |
$SED "s?^DB_USER=.*?DB_USER=\"$DB_USER\"?g" $DIR_DEST_SBIN/alcasar-mysql.sh $DIR_DEST_BIN/alcasar-conf.sh
|
241 |
$SED "s?^DB_USER=.*?DB_USER=\"$DB_USER\"?g" $DIR_DEST_SBIN/alcasar-mysql.sh $DIR_DEST_BIN/alcasar-conf.sh
|
216 |
$SED "s?^radiuspwd=.*?radiuspwd=\"$radiuspwd\"?g" $DIR_DEST_SBIN/alcasar-mysql.sh $DIR_DEST_BIN/alcasar-conf.sh
|
242 |
$SED "s?^radiuspwd=.*?radiuspwd=\"$radiuspwd\"?g" $DIR_DEST_SBIN/alcasar-mysql.sh $DIR_DEST_BIN/alcasar-conf.sh
|
217 |
# On génère le début du fichier récapitulatif
|
243 |
# On génère le début du fichier récapitulatif
|
218 |
cat <<EOF > $FIC_PARAM
|
244 |
cat <<EOF > $FIC_PARAM
|
219 |
########################################################
|
245 |
################################################
|
220 |
## ##
|
246 |
## ##
|
221 |
## Fichier récapitulatif des paramètres d'ALCASAR ##
|
247 |
## ALCASAR Paramèters ##
|
222 |
## ##
|
248 |
## ##
|
223 |
########################################################
|
249 |
################################################
|
224 |
|
250 |
|
225 |
- Date d'installation : $DATE
|
251 |
- Install date : $DATE
|
226 |
- Version istallée : $VERSION
|
252 |
- Version : $VERSION
|
227 |
- Organisme : $ORGANISME
|
253 |
- Organism : $ORGANISME
|
228 |
EOF
|
254 |
EOF
|
229 |
chmod o-rwx $FIC_PARAM
|
255 |
chmod o-rwx $FIC_PARAM
|
230 |
} # End of init ()
|
256 |
} # End of init ()
|
231 |
|
257 |
|
232 |
##################################################################
|
258 |
##################################################################
|
233 |
## Fonction network ##
|
259 |
## Fonction network ##
|
234 |
## - Définition du plan d'adressage du réseau de consultation ##
|
260 |
## - Définition du plan d'adressage du réseau de consultation ##
|
235 |
## (merci à Alexandre Trias pour le calcul de masque et RegEx) ##
|
- |
|
236 |
## - Nommage DNS du système (portail + nom d'organisme) ##
|
261 |
## - Nommage DNS du système ##
|
237 |
## - Configuration de l'interface eth1 (réseau de consultation) ##
|
262 |
## - Configuration de l'interface eth1 (réseau de consultation) ##
|
238 |
## - Modification du fichier /etc/hosts ##
|
263 |
## - Modification du fichier /etc/hosts ##
|
239 |
## - Configuration du serveur de temps (NTP) ##
|
264 |
## - Configuration du serveur de temps (NTP) ##
|
240 |
## - Renseignement des fichiers hosts.allow et hosts.deny ##
|
265 |
## - Renseignement des fichiers hosts.allow et hosts.deny ##
|
241 |
##################################################################
|
266 |
##################################################################
|
242 |
network ()
|
267 |
network ()
|
243 |
{
|
268 |
{
|
244 |
header_install
|
269 |
header_install
|
- |
|
270 |
if [ $Lang == "fr" ]
|
245 |
echo "Par défaut, le plan d'adressage du réseau de consultation est : $CUSTOM_PRIVATE_NETWORK_MASK"
|
271 |
then echo "Par défaut, le plan d'adressage IP du réseau de consultation est : $DEFAULT_PRIVATE_NETWORK_MASK"
|
- |
|
272 |
else echo "The default consultation network IP address is : $DEFAULT_PRIVATE_NETWORK_MASK"
|
- |
|
273 |
fi
|
246 |
response=0
|
274 |
response=0
|
247 |
PTN='^[oOnN]$'
|
275 |
PTN='^[oOyYnN]$'
|
248 |
until [[ $(expr $response : $PTN) -gt 0 ]]
|
276 |
until [[ $(expr $response : $PTN) -gt 0 ]]
|
249 |
do
|
277 |
do
|
- |
|
278 |
if [ $Lang == "fr" ]
|
250 |
echo -n "Voulez-vous utiliser ce plan d'adressage (recommandé) (O/n)? : "
|
279 |
then echo -n "Voulez-vous utiliser ce plan d'adressage (recommandé) (O/n)? : "
|
- |
|
280 |
else echo -n "Do you want to use it (recommanded) (Y/n)? : "
|
- |
|
281 |
fi
|
251 |
read response
|
282 |
read response
|
252 |
done
|
283 |
done
|
253 |
if [ "$response" = "n" ] || [ "$response" = "N" ]
|
284 |
if [ "$response" = "n" ] || [ "$response" = "N" ]
|
254 |
then
|
285 |
then
|
255 |
CUSTOM_PRIVATE_NETWORK_MASK="0"
|
286 |
PRIVATE_NETWORK_MASK="0"
|
256 |
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:]]$'
|
287 |
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:]]$'
|
257 |
until [[ $(expr $CUSTOM_PRIVATE_NETWORK_MASK : $PTN) -gt 0 ]]
|
288 |
until [[ $(expr $PRIVATE_NETWORK_MASK : $PTN) -gt 0 ]]
|
258 |
do
|
289 |
do
|
- |
|
290 |
if [ $Lang == "fr" ]
|
259 |
echo -n "Entrez un plan d'adressage au format CIDR (a.b.c.d/xx) : "
|
291 |
then echo -n "Entrez un plan d'adressage IP au format CIDR (a.b.c.d/xx) : "
|
- |
|
292 |
else echo -n "Enter a network IP address in CIDR format (a.b.c.d/xx) : "
|
- |
|
293 |
fi
|
260 |
read CUSTOM_PRIVATE_NETWORK_MASK
|
294 |
read PRIVATE_NETWORK_MASK
|
261 |
|
295 |
|
262 |
done
|
296 |
done
|
- |
|
297 |
else
|
- |
|
298 |
PRIVATE_NETWORK_MASK=$DEFAULT_PRIVATE_NETWORK_MASK
|
263 |
fi
|
299 |
fi
|
264 |
# Récupération de la config réseau côté "LAN de consultation"
|
300 |
# Définition de la config réseau côté "LAN de consultation"
|
265 |
hostname $HOSTNAME
|
301 |
hostname $HOSTNAME
|
266 |
echo "- Nom du système : $HOSTNAME" >> $FIC_PARAM
|
302 |
echo "- Hostname : $HOSTNAME" >> $FIC_PARAM
|
267 |
PRIVATE_NETWORK=`/bin/ipcalc -n $CUSTOM_PRIVATE_NETWORK_MASK | cut -d"=" -f2` # @ réseau de consultation (ex.: 192.168.182.0)
|
303 |
PRIVATE_NETWORK=`/bin/ipcalc -n $DEFAULT_PRIVATE_NETWORK_MASK | cut -d"=" -f2` # @ réseau de consultation (ex.: 192.168.182.0)
|
268 |
private_prefix=`/bin/ipcalc -p $CUSTOM_PRIVATE_NETWORK_MASK |cut -d"=" -f2` # prefixe du réseau (ex. 24)
|
304 |
PRIVATE_PREFIX=`/bin/ipcalc -p $DEFAULT_PRIVATE_NETWORK_MASK |cut -d"=" -f2` # prefixe du réseau (ex. 24)
|
269 |
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)
|
305 |
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)
|
270 |
classe=$((private_prefix/8)); # classe de réseau (ex.: 2=classe B, 3=classe C)
|
306 |
classe=$((PRIVATE_PREFIX/8)); # classe de réseau (ex.: 2=classe B, 3=classe C)
|
271 |
PRIVATE_NETWORK_SHORT=`echo $PRIVATE_NETWORK | cut -d"." -f1-$classe`. # @ compatible hosts.allow et hosts.deny (ex.: 192.168.182.)
|
- |
|
272 |
PRIVATE_MASK=`/bin/ipcalc -m $PRIVATE_NETWORK_MASK | cut -d"=" -f2` # masque réseau de consultation (ex.: 255.255.255.0)
|
- |
|
273 |
PRIVATE_BROADCAST=`/bin/ipcalc -b $PRIVATE_NETWORK_MASK | cut -d"=" -f2` # @ broadcast réseau de consultation (ex.: 192.168.182.255)
|
- |
|
274 |
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)
|
- |
|
275 |
PRIVATE_STAT_IP=$PRIVATE_NETWORK/$HALF_MASK # plage des adresses statiques (ex.: 192.168.182.0/25)
|
- |
|
276 |
PRIVATE_STAT_MASK=`/bin/ipcalc -m $PRIVATE_STAT_IP/$HALF_MASK | cut -d"=" -f2` # masque des adresses statiques (ex.: 255.255.255.128)
|
- |
|
277 |
classe_sup=`expr $classe + 1`
|
307 |
classe_sup=`expr $classe + 1`
|
278 |
classe_sup_sup=`expr $classe + 2`
|
- |
|
279 |
private_network_ending=`echo $PRIVATE_NETWORK | cut -d"." -f$classe_sup`
|
308 |
private_network_ending=`echo $PRIVATE_NETWORK | cut -d"." -f$classe_sup`
|
280 |
private_broadcast_ending=`echo $PRIVATE_BROADCAST | cut -d"." -f$classe_sup`
|
- |
|
281 |
private_plage=`expr $private_broadcast_ending - $private_network_ending + 1`
|
- |
|
282 |
private_half_plage=`expr $private_plage / 2`
|
- |
|
283 |
private_dyn=`expr $private_half_plage + $private_network_ending`
|
- |
|
284 |
private_dyn_ip_network=`echo $PRIVATE_NETWORK | cut -d"." -f1-$classe`"."$private_dyn"."`echo $PRIVATE_NETWORK | cut -d"." -f$classe_sup_sup-5`
|
- |
|
285 |
PRIVATE_DYN_IP=`echo $private_dyn_ip_network | cut -d"." -f1-4`/$HALF_MASK # plage des adresses dynamiques (ex.: 192.168.182.128/25)
|
309 |
PRIVATE_NETWORK_SHORT=`echo $PRIVATE_NETWORK | cut -d"." -f1-$classe`. # @ compatible hosts.allow et hosts.deny (ex.: 192.168.182.)
|
286 |
PRIVATE_DYN_MASK=`/bin/ipcalc -m $PRIVATE_DYN_IP/$HALF_MASK | cut -d"=" -f2` # masque des adresses dynamiques (ex.: 255.255.255.128)
|
310 |
PRIVATE_MASK=`/bin/ipcalc -m $PRIVATE_NETWORK_MASK | cut -d"=" -f2` # masque réseau de consultation (ex.: 255.255.255.0)
|
287 |
private_dyn_ip_network=`echo $PRIVATE_DYN_IP | cut -d"/" -f1` # plage des adresses dynamiques sans le masque (ex.: 192.168.182.0)
|
311 |
PRIVATE_BROADCAST=`/bin/ipcalc -b $PRIVATE_NETWORK_MASK | cut -d"=" -f2` # @ broadcast réseau de consultation (ex.: 192.168.182.255)
|
288 |
private_dyn_ip_end=`echo $private_dyn_ip_network | cut -d"." -f4` # dernier octet de la plage des adresses dynamiques (ex.: 128)
|
- |
|
289 |
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)
|
312 |
PRIVATE_IP=`echo $PRIVATE_NETWORK | cut -d"." -f1-3`"."`expr $private_network_ending + 1` # @ip du portail (côté réseau de consultation)
|
290 |
private_broadcast_end=`echo $PRIVATE_BROADCAST | cut -d"." -f4`
|
- |
|
291 |
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)
|
313 |
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)
|
292 |
PRIVATE_IP=`echo $PRIVATE_NETWORK | cut -d"." -f1-3`"."`expr $private_network_end + 1` # @ip du portail (côté réseau de consultation)
|
314 |
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)
|
293 |
# Récupération de la config réseau côté "Internet"
|
315 |
# Récupération de la config réseau côté "Internet"
|
294 |
[ -e /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF ] || cp /etc/sysconfig/network-scripts/ifcfg-$EXTIF /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF
|
316 |
[ -e /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF ] || cp /etc/sysconfig/network-scripts/ifcfg-$EXTIF /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF
|
295 |
EXT_IP=`grep IPADDR /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF|cut -d"=" -f2` # @ip du portail (côté Internet)
|
317 |
EXT_IP=`grep IPADDR /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF|cut -d"=" -f2` # @ip du portail (côté Internet)
|
296 |
[ -e /etc/sysconfig/network.default ] || cp /etc/sysconfig/network /etc/sysconfig/network.default
|
318 |
[ -e /etc/sysconfig/network.default ] || cp /etc/sysconfig/network /etc/sysconfig/network.default
|
297 |
DNS1=`grep DNS1 /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF|cut -d"=" -f2` # @ip 1er DNS
|
319 |
DNS1=`grep DNS1 /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF|cut -d"=" -f2` # @ip 1er DNS
|
298 |
DNS2=`grep DNS2 /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF|cut -d"=" -f2` # @ip 2ème DNS
|
320 |
DNS2=`grep DNS2 /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF|cut -d"=" -f2` # @ip 2ème DNS
|
299 |
DNS1=${DNS1:=208.67.220.220}
|
321 |
DNS1=${DNS1:=208.67.220.220}
|
300 |
DNS2=${DNS2:=208.67.222.222}
|
322 |
DNS2=${DNS2:=208.67.222.222}
|
301 |
EXT_NETMASK=`grep NETMASK /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF|cut -d"=" -f2`
|
323 |
EXT_NETMASK=`grep NETMASK /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF|cut -d"=" -f2`
|
302 |
EXT_GATEWAY=`grep GATEWAY /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF|cut -d"=" -f2`
|
324 |
EXT_GATEWAY=`grep GATEWAY /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF|cut -d"=" -f2`
|
303 |
echo "- Adresse IP 'côté Internet' ($EXTIF) : $EXT_IP / $EXT_NETMASK" >> $FIC_PARAM
|
325 |
echo "- IP address 'Internet side' ($EXTIF) : $EXT_IP / $EXT_NETMASK" >> $FIC_PARAM
|
- |
|
326 |
echo "- Gateway : $EXT_GATEWAY" >> $FIC_PARAM
|
304 |
echo "- Serveurs DNS renseignés : $DNS1 et $DNS2" >> $FIC_PARAM
|
327 |
echo "- DNS servers : $DNS1 et $DNS2" >> $FIC_PARAM
|
305 |
echo "- Routeur de sortie : $EXT_GATEWAY" >> $FIC_PARAM
|
328 |
echo "- IP address 'LAN side' ($INTIF) : $PRIVATE_IP/$PRIVATE_PREFIX" >> $FIC_PARAM
|
- |
|
329 |
echo "- Dynamic IP addresses (DHCP) : from $PRIVATE_DYN_FIRST_IP to $PRIVATE_DYN_LAST_IP" >> $FIC_PARAM
|
- |
|
330 |
echo "PRIVATE_NETWORK_MASK=$PRIVATE_NETWORK_MASK" > $DIR_DEST_ETC/alcasar-network
|
- |
|
331 |
echo "PRIVATE_IP=$PRIVATE_IP" >> $DIR_DEST_ETC/alcasar-network
|
- |
|
332 |
echo "DHCP=on" >> $DIR_DEST_ETC/alcasar-network
|
306 |
# Configuration réseau
|
333 |
# Configuration réseau
|
307 |
cat <<EOF > /etc/sysconfig/network
|
334 |
cat <<EOF > /etc/sysconfig/network
|
308 |
NETWORKING=yes
|
335 |
NETWORKING=yes
|
309 |
HOSTNAME="$HOSTNAME"
|
336 |
HOSTNAME="$HOSTNAME"
|
310 |
FORWARD_IPV4=true
|
337 |
FORWARD_IPV4=true
|
Line 313... |
Line 340... |
313 |
[ -e /etc/hosts.default ] || cp /etc/hosts /etc/hosts.default
|
340 |
[ -e /etc/hosts.default ] || cp /etc/hosts /etc/hosts.default
|
314 |
cat <<EOF > /etc/hosts
|
341 |
cat <<EOF > /etc/hosts
|
315 |
127.0.0.1 localhost
|
342 |
127.0.0.1 localhost
|
316 |
$PRIVATE_IP $HOSTNAME
|
343 |
$PRIVATE_IP $HOSTNAME
|
317 |
EOF
|
344 |
EOF
|
318 |
echo "- Adresse IP 'côté réseau de consultation' ($INTIF) : $PRIVATE_IP / $PRIVATE_NETWORK_MASK" >> $FIC_PARAM
|
- |
|
319 |
echo " - plage d'adresses statiques : $PRIVATE_STAT_IP" >> $FIC_PARAM
|
- |
|
320 |
echo " - plage d'adresses dynamiques (via DHCP) : $PRIVATE_DYN_IP" >> $FIC_PARAM
|
- |
|
321 |
# Configuration de l'interface eth0 (Internet)
|
345 |
# Configuration de l'interface eth0 (Internet)
|
322 |
cat <<EOF > /etc/sysconfig/network-scripts/ifcfg-$EXTIF
|
346 |
cat <<EOF > /etc/sysconfig/network-scripts/ifcfg-$EXTIF
|
323 |
DEVICE=$EXTIF
|
347 |
DEVICE=$EXTIF
|
324 |
BOOTPROTO=static
|
348 |
BOOTPROTO=static
|
325 |
IPADDR=$EXT_IP
|
349 |
IPADDR=$EXT_IP
|
Line 435... |
Line 459... |
435 |
[ -e /var/www/error/include/bottom.html.default ] || mv /var/www/error/include/bottom.html /var/www/error/include/bottom.html.default
|
459 |
[ -e /var/www/error/include/bottom.html.default ] || mv /var/www/error/include/bottom.html /var/www/error/include/bottom.html.default
|
436 |
cat <<EOF > /var/www/error/include/bottom.html
|
460 |
cat <<EOF > /var/www/error/include/bottom.html
|
437 |
</body>
|
461 |
</body>
|
438 |
</html>
|
462 |
</html>
|
439 |
EOF
|
463 |
EOF
|
440 |
echo "- URL d'accès au centre de gestion : http://$HOSTNAME" >> $FIC_PARAM
|
464 |
echo "- ALCASAR Control Center URL : http://$HOSTNAME" >> $FIC_PARAM
|
441 |
# Définition du premier compte lié au profil 'admin'
|
465 |
# Définition du premier compte lié au profil 'admin'
|
442 |
header_install
|
466 |
header_install
|
443 |
if [ "$mode" = "install" ]
|
467 |
if [ "$mode" = "install" ]
|
444 |
then
|
468 |
then
|
445 |
header_install
|
469 |
header_install
|
- |
|
470 |
if [ $Lang == "fr" ]
|
- |
|
471 |
then
|
446 |
echo "Pour administrer Alcasar via le centre de gestion WEB, trois profils de comptes ont été définis :"
|
472 |
echo "Pour administrer Alcasar via le centre de gestion WEB, trois profils de comptes ont été définis :"
|
447 |
echo " - le profil 'admin' capable de réaliser toutes les opérations"
|
473 |
echo " - le profil 'admin' capable de réaliser toutes les opérations"
|
448 |
echo " - le profil 'backup' lié uniquement aux fonctions d'archivage"
|
474 |
echo " - le profil 'backup' lié uniquement aux fonctions d'archivage"
|
449 |
echo " - le profil 'manager' lié uniquement aux fonctions de gestion des usagers"
|
475 |
echo " - le profil 'manager' lié uniquement aux fonctions de gestion des usagers"
|
450 |
echo ""
|
476 |
echo ""
|
451 |
echo "Définissez le premier compte du profil 'admin' :"
|
477 |
echo "Définissez le premier compte du profil 'admin' :"
|
452 |
echo
|
478 |
echo
|
453 |
echo -n "Nom : "
|
479 |
echo -n "Nom : "
|
- |
|
480 |
else
|
- |
|
481 |
echo "To manage Alcasar thru the WEB control center, three accounts profiles were defined :"
|
- |
|
482 |
echo " - the 'admin profile who can do all operations"
|
- |
|
483 |
echo " - the 'backup' profile link to backup functions"
|
- |
|
484 |
echo " - the 'manager' profile link to users management"
|
- |
|
485 |
echo ""
|
- |
|
486 |
echo "Define the first account of the 'admin' profile :"
|
- |
|
487 |
echo
|
- |
|
488 |
echo -n "Account : "
|
- |
|
489 |
fi
|
454 |
read admin_portail
|
490 |
read admin_portail
|
455 |
echo "- Nom du premier compte lié au profil 'admin' : $admin_portail" >> $FIC_PARAM
|
491 |
echo "- Name of the first account of the admin profile : $admin_portail" >> $FIC_PARAM
|
456 |
# Création du fichier de clés de ce compte dans le profil "admin"
|
492 |
# Création du fichier de clés de ce compte dans le profil "admin"
|
457 |
[ -d $DIR_DEST_ETC/digest ] && rm -rf $DIR_DEST_ETC/digest
|
493 |
[ -d $DIR_DEST_ETC/digest ] && rm -rf $DIR_DEST_ETC/digest
|
458 |
mkdir -p $DIR_DEST_ETC/digest
|
494 |
mkdir -p $DIR_DEST_ETC/digest
|
459 |
chmod 755 $DIR_DEST_ETC/digest
|
495 |
chmod 755 $DIR_DEST_ETC/digest
|
460 |
until [ -s $DIR_DEST_ETC/digest/key_admin ]
|
496 |
until [ -s $DIR_DEST_ETC/digest/key_admin ]
|
461 |
do
|
497 |
do
|
462 |
/usr/sbin/htdigest -c $DIR_DEST_ETC/digest/key_admin $HOSTNAME $admin_portail
|
498 |
/usr/sbin/htdigest -c $DIR_DEST_ETC/digest/key_admin $HOSTNAME $admin_portail
|
463 |
done
|
499 |
done
|
464 |
$DIR_DEST_SBIN/alcasar-profil.sh --list
|
500 |
$DIR_DEST_SBIN/alcasar-profil.sh --list
|
465 |
else # version < 2.1
|
501 |
else # mise à jour des versions < 2.1
|
466 |
if ([ $MAJ_RUNNING_VERSION -lt 2 ] || ([ $MAJ_RUNNING_VERSION -eq 2 ] && [ $MIN_RUNNING_VERSION -lt 1 ]))
|
502 |
if ([ $MAJ_RUNNING_VERSION -lt 2 ] || ([ $MAJ_RUNNING_VERSION -eq 2 ] && [ $MIN_RUNNING_VERSION -lt 1 ]))
|
467 |
then
|
503 |
then
|
468 |
echo "Cette mise à jour nécessite de redéfinir le premier compte d'administration du portail"
|
504 |
echo "Cette mise à jour nécessite de redéfinir le premier compte d'administration du portail"
|
469 |
echo
|
505 |
echo
|
470 |
echo -n "Nom : "
|
506 |
echo -n "Nom : "
|
471 |
read admin_portail
|
507 |
read admin_portail
|
472 |
echo "- Nom du premier compte lié au profil 'admin' : $admin_portail" >> $FIC_PARAM
|
508 |
echo "- Name of the first user of admin profile : $admin_portail" >> $FIC_PARAM
|
473 |
[ -d $DIR_DEST_ETC/digest ] && rm -rf $DIR_DEST_ETC/digest
|
509 |
[ -d $DIR_DEST_ETC/digest ] && rm -rf $DIR_DEST_ETC/digest
|
474 |
mkdir -p $DIR_DEST_ETC/digest
|
510 |
mkdir -p $DIR_DEST_ETC/digest
|
475 |
chmod 755 $DIR_DEST_ETC/digest
|
511 |
chmod 755 $DIR_DEST_ETC/digest
|
476 |
until [ -s $DIR_DEST_ETC/digest/key_admin ]
|
512 |
until [ -s $DIR_DEST_ETC/digest/key_admin ]
|
477 |
do
|
513 |
do
|
Line 716... |
Line 752... |
716 |
Allow from 127.0.0.1
|
752 |
Allow from 127.0.0.1
|
717 |
Allow from $PRIVATE_NETWORK_MASK
|
753 |
Allow from $PRIVATE_NETWORK_MASK
|
718 |
ErrorDocument 404 https://$HOSTNAME
|
754 |
ErrorDocument 404 https://$HOSTNAME
|
719 |
</Directory>
|
755 |
</Directory>
|
720 |
EOF
|
756 |
EOF
|
721 |
echo "- URL pour le changement du mot de passe usager : https://$HOSTNAME/pass/" >> $FIC_PARAM
|
757 |
echo "- User change password URL : https://$HOSTNAME/pass/" >> $FIC_PARAM
|
722 |
} # End of param_web_radius ()
|
758 |
} # End of param_web_radius ()
|
723 |
|
759 |
|
724 |
##########################################################################################
|
760 |
##########################################################################################
|
725 |
## Fonction param_chilli ##
|
761 |
## Fonction param_chilli ##
|
726 |
## - Paramètrage du fichier d'initialisation et de configuration de coova-chilli ##
|
762 |
## - Paramètrage du fichier d'initialisation et de configuration de coova-chilli ##
|
Line 748... |
Line 784... |
748 |
# coova config for ALCASAR
|
784 |
# coova config for ALCASAR
|
749 |
cmdsocket /var/run/chilli.sock
|
785 |
cmdsocket /var/run/chilli.sock
|
750 |
unixipc chilli.eth1.ipc
|
786 |
unixipc chilli.eth1.ipc
|
751 |
pidfile /var/run/chilli.eth1.pid
|
787 |
pidfile /var/run/chilli.eth1.pid
|
752 |
net $PRIVATE_NETWORK_MASK
|
788 |
net $PRIVATE_NETWORK_MASK
|
753 |
dynip $PRIVATE_DYN_IP
|
789 |
dhcpif $INTIF
|
- |
|
790 |
#nodynip
|
754 |
statip $PRIVATE_STAT_IP
|
791 |
#statip $PRIVATE_NETWORK_MASK
|
- |
|
792 |
ethers $DIR_DEST_ETC/alcasar-ethers
|
755 |
domain localdomain
|
793 |
domain localdomain
|
756 |
dns1 $PRIVATE_IP
|
794 |
dns1 $PRIVATE_IP
|
757 |
dns2 $PRIVATE_IP
|
795 |
dns2 $PRIVATE_IP
|
758 |
uamlisten $PRIVATE_IP
|
796 |
uamlisten $PRIVATE_IP
|
759 |
uamport 3990
|
797 |
uamport 3990
|
760 |
dhcpif $INTIF
|
- |
|
761 |
ethers $DIR_DEST_ETC/alcasar-ethers
|
- |
|
762 |
macallowlocal
|
798 |
macallowlocal
|
763 |
locationname $HOSTNAME
|
799 |
locationname $HOSTNAME
|
764 |
radiusserver1 127.0.0.1
|
800 |
radiusserver1 127.0.0.1
|
765 |
radiusserver2 127.0.0.1
|
801 |
radiusserver2 127.0.0.1
|
766 |
radiussecret $secretradius
|
802 |
radiussecret $secretradius
|
Line 779... |
Line 815... |
779 |
echo -e "uamallowed=\"\"" > $DIR_DEST_ETC/alcasar-uamallowed
|
815 |
echo -e "uamallowed=\"\"" > $DIR_DEST_ETC/alcasar-uamallowed
|
780 |
echo -e "uamdomain=\"\"" > $DIR_DEST_ETC/alcasar-uamdomain
|
816 |
echo -e "uamdomain=\"\"" > $DIR_DEST_ETC/alcasar-uamdomain
|
781 |
touch $DIR_DEST_ETC/alcasar-macallowed
|
817 |
touch $DIR_DEST_ETC/alcasar-macallowed
|
782 |
chown root:apache $DIR_DEST_ETC/alcasar-*
|
818 |
chown root:apache $DIR_DEST_ETC/alcasar-*
|
783 |
chmod 660 $DIR_DEST_ETC/alcasar-*
|
819 |
chmod 660 $DIR_DEST_ETC/alcasar-*
|
784 |
echo "- URL de deconnexion du portail : http://alcasar:3990/logoff" >> $FIC_PARAM
|
820 |
echo "- Disconnect URL : http://alcasar:3990/logoff" >> $FIC_PARAM
|
785 |
# Configuration des fichier WEB d'interception (secret partagé avec coova-chilli et nom d'organisme)
|
821 |
# Configuration des fichier WEB d'interception (secret partagé avec coova-chilli et nom d'organisme)
|
786 |
$SED "s?^\$uamsecret =.*?\$uamsecret = \"$secretuam\";?g" $DIR_WEB/intercept.php
|
822 |
$SED "s?^\$uamsecret =.*?\$uamsecret = \"$secretuam\";?g" $DIR_WEB/intercept.php
|
787 |
$SED "s?^\$userpassword=1.*?\$userpassword=1;?g" $DIR_WEB/intercept.php
|
823 |
$SED "s?^\$userpassword=1.*?\$userpassword=1;?g" $DIR_WEB/intercept.php
|
788 |
$SED "s?^\$organisme = .*?\$organisme = \"$ORGANISME\";?g" $DIR_WEB/intercept.php $DIR_WEB/status.php
|
824 |
$SED "s?^\$organisme = .*?\$organisme = \"$ORGANISME\";?g" $DIR_WEB/intercept.php $DIR_WEB/status.php
|
789 |
} # End of param_chilli ()
|
825 |
} # End of param_chilli ()
|
Line 803... |
Line 839... |
803 |
$SED "/^icp_port 3130/d" /etc/squid/squid.conf
|
839 |
$SED "/^icp_port 3130/d" /etc/squid/squid.conf
|
804 |
$SED "/^http_access allow localnet/d" /etc/squid/squid.conf
|
840 |
$SED "/^http_access allow localnet/d" /etc/squid/squid.conf
|
805 |
$SED "/^htcp_access allow localnet/d" /etc/squid/squid.conf
|
841 |
$SED "/^htcp_access allow localnet/d" /etc/squid/squid.conf
|
806 |
$SED "/^always_direct allow localnet/d" /etc/squid/squid.conf
|
842 |
$SED "/^always_direct allow localnet/d" /etc/squid/squid.conf
|
807 |
# mode 'proxy transparent local'
|
843 |
# mode 'proxy transparent local'
|
808 |
$SED "s?^http_port.*?http_port 127.0.0.1:$SQUID_PORT transparent?g" /etc/squid/squid.conf
|
844 |
$SED "s?^http_port.*?http_port 127.0.0.1:3128 transparent?g" /etc/squid/squid.conf
|
809 |
# emplacement et formatage standard des logs
|
845 |
# emplacement et formatage standard des logs
|
810 |
echo '#logformat common %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %>Hs %<st %Ss:%Sh' >> /etc/squid/squid.conf
|
846 |
echo '#logformat common %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %>Hs %<st %Ss:%Sh' >> /etc/squid/squid.conf
|
811 |
echo '#logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %>Hs %<st "%{Referer}>h" "%{User-Ag' >> /etc/squid/squid.conf
|
847 |
echo '#logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %>Hs %<st "%{Referer}>h" "%{User-Ag' >> /etc/squid/squid.conf
|
812 |
echo "access_log /var/log/squid/access.log" >> /etc/squid/squid.conf
|
848 |
echo "access_log /var/log/squid/access.log" >> /etc/squid/squid.conf
|
813 |
# compatibilité des logs avec awstats
|
849 |
# compatibilité des logs avec awstats
|
Line 1216... |
Line 1252... |
1216 |
$SED "s?^#Banner.*?Banner /etc/ssh/alcasar-banner-ssh?g" /etc/ssh/sshd_config
|
1252 |
$SED "s?^#Banner.*?Banner /etc/ssh/alcasar-banner-ssh?g" /etc/ssh/sshd_config
|
1217 |
# sshd écoute côté LAN
|
1253 |
# sshd écoute côté LAN
|
1218 |
$SED "s?^#ListenAddress 0\.0\.0\.0?ListenAddress $PRIVATE_IP?g" /etc/ssh/sshd_config
|
1254 |
$SED "s?^#ListenAddress 0\.0\.0\.0?ListenAddress $PRIVATE_IP?g" /etc/ssh/sshd_config
|
1219 |
# sshd n'est pas lancé automatiquement au démarrage
|
1255 |
# sshd n'est pas lancé automatiquement au démarrage
|
1220 |
/sbin/chkconfig --del sshd
|
1256 |
/sbin/chkconfig --del sshd
|
- |
|
1257 |
echo "SSH=off" >> $DIR_DEST_ETC/alcasar-network
|
1221 |
# Coloration des prompts
|
1258 |
# Coloration des prompts
|
1222 |
[ -e /etc/bashrc.default ] || cp /etc/bashrc /etc/bashrc.default
|
1259 |
[ -e /etc/bashrc.default ] || cp /etc/bashrc /etc/bashrc.default
|
1223 |
cp -f $DIR_CONF/bashrc /etc/. ; chmod 644 /etc/bashrc ; chown root:root /etc/bashrc
|
1260 |
cp -f $DIR_CONF/bashrc /etc/. ; chmod 644 /etc/bashrc ; chown root:root /etc/bashrc
|
1224 |
# Droits d'exécution pour utilisateur apache et sysadmin
|
1261 |
# Droits d'exécution pour utilisateur apache et sysadmin
|
1225 |
[ -e /etc/sudoers.default ] || cp /etc/sudoers /etc/sudoers.default
|
1262 |
[ -e /etc/sudoers.default ] || cp /etc/sudoers /etc/sudoers.default
|
Line 1231... |
Line 1268... |
1231 |
# processus lancés par défaut au démarrage
|
1268 |
# processus lancés par défaut au démarrage
|
1232 |
for i in ntpd iptables ulogd dnsmasq squid chilli httpd radiusd mysqld dansguardian havp freshclam
|
1269 |
for i in ntpd iptables ulogd dnsmasq squid chilli httpd radiusd mysqld dansguardian havp freshclam
|
1233 |
do
|
1270 |
do
|
1234 |
/sbin/chkconfig --add $i
|
1271 |
/sbin/chkconfig --add $i
|
1235 |
done
|
1272 |
done
|
1236 |
# pour éviter les alertes de dépendance avec le service 'netfs'.
|
1273 |
# pour éviter les alertes de dépendance entre service.
|
1237 |
$SED "s?^# Required-Start.*?# Required-Start: \$local_fs \$network?g" /etc/init.d/mysqld
|
1274 |
$SED "s?^# Required-Start.*?# Required-Start: \$local_fs \$network?g" /etc/init.d/mysqld
|
1238 |
$SED "s?^# Required-Stop.*?# Required-Stop: \$local_fs \$network?g" /etc/init.d/mysqld
|
1275 |
$SED "s?^# Required-Stop.*?# Required-Stop: \$local_fs \$network?g" /etc/init.d/mysqld
|
- |
|
1276 |
$SED "s?^# Should-Start.*?# Should-Start: radiusd ldap?g" /etc/init.d/httpd
|
- |
|
1277 |
$SED "s?^# Should-Stop.*?# Should-Stop: radiusd ldap?g" /etc/init.d/httpd
|
1239 |
# On affecte le niveau de sécurité du système : type "fileserver"
|
1278 |
# On affecte le niveau de sécurité du système : type "fileserver"
|
1240 |
$SED "s?BASE_LEVEL=.*?BASE_LEVEL=fileserver?g" /etc/security/msec/security.conf
|
1279 |
$SED "s?BASE_LEVEL=.*?BASE_LEVEL=fileserver?g" /etc/security/msec/security.conf
|
1241 |
# On supprime la vérification du mode promiscious des interfaces réseaux ( nombreuses alertes sur eth1 dûes à Tun0 )
|
1280 |
# On supprime la vérification du mode promiscious des interfaces réseaux ( nombreuses alertes sur eth1 dûes à Tun0 )
|
1242 |
$SED "s?CHECK_PROMISC=.*?CHECK_PROMISC=no?g" /etc/security/msec/level.fileserver
|
1281 |
$SED "s?CHECK_PROMISC=.*?CHECK_PROMISC=no?g" /etc/security/msec/level.fileserver
|
1243 |
|
1282 |
|
Line 1247... |
Line 1286... |
1247 |
$SED "s?^ACCEPT_BROADCASTED_ICMP_ECHO=.*?ACCEPT_BROADCASTED_ICMP_ECHO=no?g" /etc/security/msec/level.fileserver
|
1286 |
$SED "s?^ACCEPT_BROADCASTED_ICMP_ECHO=.*?ACCEPT_BROADCASTED_ICMP_ECHO=no?g" /etc/security/msec/level.fileserver
|
1248 |
sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1
|
1287 |
sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1
|
1249 |
# ignorer les erreurs ICMP bogus
|
1288 |
# ignorer les erreurs ICMP bogus
|
1250 |
$SED "s?^ACCEPT_BOGUS_ERROR_RESPONSES=.*?ACCEPT_BOGUS_ERROR_RESPONSES=no?g" /etc/security/msec/level.fileserver
|
1289 |
$SED "s?^ACCEPT_BOGUS_ERROR_RESPONSES=.*?ACCEPT_BOGUS_ERROR_RESPONSES=no?g" /etc/security/msec/level.fileserver
|
1251 |
sysctl -w net.ipv4.icmp_ignore_bogus_error_responses=1
|
1290 |
sysctl -w net.ipv4.icmp_ignore_bogus_error_responses=1
|
1252 |
# désactiver l’envoi et la réponse aux ICMP redirects
|
1291 |
# désactiver l'envoi et la réponse aux ICMP redirects
|
1253 |
accept_redirect=`grep accept_redirect /etc/sysctl.conf|wc -l`
|
1292 |
accept_redirect=`grep accept_redirect /etc/sysctl.conf|wc -l`
|
1254 |
if [ "$accept_redirect" == "0" ]
|
1293 |
if [ "$accept_redirect" == "0" ]
|
1255 |
then
|
1294 |
then
|
1256 |
echo "net.ipv4.conf.all.accept_redirects = 0" >> /etc/sysctl.conf
|
1295 |
echo "net.ipv4.conf.all.accept_redirects = 0" >> /etc/sysctl.conf
|
1257 |
fi
|
1296 |
fi
|
Line 1270... |
Line 1309... |
1270 |
then
|
1309 |
then
|
1271 |
echo "net.ipv4.tcp_syncookies = 1" >> /etc/sysctl.conf
|
1310 |
echo "net.ipv4.tcp_syncookies = 1" >> /etc/sysctl.conf
|
1272 |
fi
|
1311 |
fi
|
1273 |
$SED "s?tcp_syncookies.*?tcp_syncookies = 1?g" /etc/sysctl.conf
|
1312 |
$SED "s?tcp_syncookies.*?tcp_syncookies = 1?g" /etc/sysctl.conf
|
1274 |
sysctl -w net.ipv4.tcp_syncookies=1
|
1313 |
sysctl -w net.ipv4.tcp_syncookies=1
|
1275 |
# activer l’antispoofing niveau Noyau
|
1314 |
# activer l'antispoofing niveau Noyau
|
1276 |
$SED "s?^ENABLE_IP_SPOOFING_PROTECTION.*?ENABLE_IP_SPOOFING_PROTECTION=yes?g" /etc/security/msec/level.fileserver
|
1315 |
$SED "s?^ENABLE_IP_SPOOFING_PROTECTION.*?ENABLE_IP_SPOOFING_PROTECTION=yes?g" /etc/security/msec/level.fileserver
|
1277 |
sysctl -w net.ipv4.conf.all.rp_filter=1
|
1316 |
sysctl -w net.ipv4.conf.all.rp_filter=1
|
1278 |
# ignorer le source routing
|
1317 |
# ignorer le source routing
|
1279 |
accept_source_route=`grep accept_source_route /etc/sysctl.conf|wc -l`
|
1318 |
accept_source_route=`grep accept_source_route /etc/sysctl.conf|wc -l`
|
1280 |
if [ "$accept_source_route" == "0" ]
|
1319 |
if [ "$accept_source_route" == "0" ]
|
Line 1337... |
Line 1376... |
1337 |
# dans le cas d'une mise à jour, on charge la conf d'une version précédente
|
1376 |
# dans le cas d'une mise à jour, on charge la conf d'une version précédente
|
1338 |
if [ "$mode" = "update" ]
|
1377 |
if [ "$mode" = "update" ]
|
1339 |
then
|
1378 |
then
|
1340 |
$DIR_DEST_BIN/alcasar-conf.sh --load
|
1379 |
$DIR_DEST_BIN/alcasar-conf.sh --load
|
1341 |
fi
|
1380 |
fi
|
- |
|
1381 |
rm -f /tmp/alcasar-conf*
|
1342 |
chown -R root:apache $DIR_DEST_ETC/*
|
1382 |
chown -R root:apache $DIR_DEST_ETC/*
|
1343 |
chmod -R 660 $DIR_DEST_ETC/*
|
1383 |
chmod -R 660 $DIR_DEST_ETC/*
|
1344 |
chmod ug+x $DIR_DEST_ETC/digest $DIR_DEST_ETC/alcasar-dnsfilter*
|
1384 |
chmod ug+x $DIR_DEST_ETC/digest $DIR_DEST_ETC/alcasar-dnsfilter*
|
1345 |
cd $DIR_INSTALL
|
1385 |
cd $DIR_INSTALL
|
1346 |
echo ""
|
1386 |
echo ""
|
Line 1389... |
Line 1429... |
1389 |
testing
|
1429 |
testing
|
1390 |
# On teste la présence d'une version déjà installée
|
1430 |
# On teste la présence d'une version déjà installée
|
1391 |
if [ -e $DIR_WEB/VERSION ]
|
1431 |
if [ -e $DIR_WEB/VERSION ]
|
1392 |
then
|
1432 |
then
|
1393 |
actual_version=`cat $DIR_WEB/VERSION`
|
1433 |
actual_version=`cat $DIR_WEB/VERSION`
|
- |
|
1434 |
if [ $Lang == "fr" ]
|
1394 |
echo -n "La version "; echo -n $actual_version ; echo " d'ALCASAR est déjà installée";
|
1435 |
then echo -n "La version "; echo -n $actual_version ; echo " d'ALCASAR est déjà installée";
|
1395 |
echo -n "ALCASAR Version "; echo -n $actual_version ; echo " is already installed";
|
1436 |
else echo -n "ALCASAR Version "; echo -n $actual_version ; echo " is already installed";
|
- |
|
1437 |
fi
|
1396 |
response=0
|
1438 |
response=0
|
1397 |
PTN='^[oOnNyY]$'
|
1439 |
PTN='^[oOnNyY]$'
|
1398 |
until [[ $(expr $response : $PTN) -gt 0 ]]
|
1440 |
until [[ $(expr $response : $PTN) -gt 0 ]]
|
1399 |
do
|
1441 |
do
|
- |
|
1442 |
if [ $Lang == "fr" ]
|
1400 |
echo "Voulez-vous effectuer une mise à jour (O/n)? ";
|
1443 |
then echo -n "Voulez-vous effectuer une mise à jour (O/n)? ";
|
1401 |
echo -n "Do you want to update (Y/n)?";
|
1444 |
else echo -n "Do you want to update (Y/n)?";
|
- |
|
1445 |
fi
|
1402 |
read response
|
1446 |
read response
|
1403 |
done
|
1447 |
done
|
1404 |
if [ "$response" = "o" ] || [ "$response" = "O" ] || [ "$response" = "y" ] || [ "$response" = "Y" ]
|
1448 |
if [ "$response" = "o" ] || [ "$response" = "O" ] || [ "$response" = "y" ] || [ "$response" = "Y" ]
|
1405 |
then
|
1449 |
then
|
1406 |
RUNNING_VERSION=`cat $DIR_WEB/VERSION|cut -d" " -f1`
|
1450 |
RUNNING_VERSION=`cat $DIR_WEB/VERSION|cut -d" " -f1`
|
Line 1411... |
Line 1455... |
1411 |
chmod u+x $DIR_SCRIPTS/alcasar-conf.sh
|
1455 |
chmod u+x $DIR_SCRIPTS/alcasar-conf.sh
|
1412 |
$DIR_SCRIPTS/alcasar-conf.sh --create
|
1456 |
$DIR_SCRIPTS/alcasar-conf.sh --create
|
1413 |
mode="update"
|
1457 |
mode="update"
|
1414 |
fi
|
1458 |
fi
|
1415 |
fi
|
1459 |
fi
|
1416 |
# System update - rpms install
|
1460 |
# RPMs install
|
1417 |
$DIR_SCRIPTS/alcasar-urpmi.sh
|
1461 |
$DIR_SCRIPTS/alcasar-urpmi.sh
|
1418 |
if [ "$?" != "0" ]
|
1462 |
if [ "$?" != "0" ]
|
1419 |
then
|
1463 |
then
|
1420 |
exit 0
|
1464 |
exit 0
|
1421 |
fi
|
1465 |
fi
|
1422 |
if [ -e /tmp/alcasar-conf.tar.gz ]
|
1466 |
if [ -e $DIR_WEB/VERSION ]
|
1423 |
then
|
1467 |
then
|
1424 |
echo "#### Installation avec mise à jour ####"
|
- |
|
1425 |
echo "#### Installation with update ####"
|
- |
|
1426 |
# On désinstalle la version actuelle
|
1468 |
# On désinstalle la version actuelle
|
1427 |
$DIR_SCRIPTS/sbin/alcasar-uninstall.sh
|
1469 |
$DIR_SCRIPTS/sbin/alcasar-uninstall.sh
|
- |
|
1470 |
fi
|
- |
|
1471 |
if [ -e /tmp/alcasar-conf.tar.gz ]
|
- |
|
1472 |
then
|
- |
|
1473 |
if [ $Lang == "fr" ]
|
- |
|
1474 |
then echo "#### Installation avec mise à jour ####"
|
- |
|
1475 |
else echo "#### Installation with update ####"
|
- |
|
1476 |
fi
|
1428 |
# On récupère le nom d'organisme à partir de fichier de conf
|
1477 |
# On récupère le nom d'organisme à partir de fichier de conf
|
1429 |
tar -xvf /tmp/alcasar-conf.tar.gz conf/organisme
|
1478 |
tar -xvf /tmp/alcasar-conf.tar.gz conf/organisme
|
1430 |
ORGANISME=`cat $DIR_CONF/organisme`
|
1479 |
ORGANISME=`cat $DIR_CONF/organisme`
|
1431 |
mode="update"
|
1480 |
mode="update"
|
1432 |
else
|
1481 |
else
|
Line 1434... |
Line 1483... |
1434 |
fi
|
1483 |
fi
|
1435 |
for func in init network gestion AC init_db param_radius param_web_radius param_chilli param_squid param_dansguardian antivirus firewall param_ulogd param_awstats param_dnsmasq BL cron post_install
|
1484 |
for func in init network gestion AC init_db param_radius param_web_radius param_chilli param_squid param_dansguardian antivirus firewall param_ulogd param_awstats param_dnsmasq BL cron post_install
|
1436 |
|
1485 |
|
1437 |
do
|
1486 |
do
|
1438 |
$func
|
1487 |
$func
|
1439 |
# echo "*** 'debug' : end of function $func ***"; read a
|
1488 |
echo "*** 'debug' : end of function $func ***"; read a
|
1440 |
done
|
1489 |
done
|
1441 |
;;
|
1490 |
;;
|
1442 |
-u | --uninstall)
|
1491 |
-u | --uninstall)
|
1443 |
if [ ! -e $DIR_DEST_SBIN/alcasar-uninstall.sh ]
|
1492 |
if [ ! -e $DIR_DEST_SBIN/alcasar-uninstall.sh ]
|
1444 |
then
|
1493 |
then
|