You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
140 lines
3.8 KiB
140 lines
3.8 KiB
#!/bin/bash
|
|
|
|
runErrorScript() {
|
|
#set -x
|
|
eval "$@" &> /dev/null
|
|
|
|
[ $? != 0 ] && {
|
|
echo "Le script a, au moins partiellement, échoué !" >&2
|
|
} || echo "ok"
|
|
}
|
|
|
|
apply() {
|
|
case "$choix" in
|
|
|
|
"Erreur 1 (TP1)")
|
|
# Remplace 192.168.30.16 par 192.168.30.61 dans tiny:/etc/network/interfaces
|
|
runErrorScript "vdn-ssh root@tiny \
|
|
'sed -i -re s/192.168.30.16/192.168.30.61/g /etc/network/interfaces; \
|
|
ifdown eth1; ifup eth1'";;
|
|
|
|
"Correction erreur 1 (TP1)")
|
|
runErrorScript "vdn-ssh root@tiny \
|
|
'sed -i -re s/192.168.30.61/192.168.30.16/g /etc/network/interfaces; \
|
|
ifdown eth1; ifup eth1'";;
|
|
|
|
|
|
"Erreur 2 (TP1)")
|
|
# Remplace tiny par tini dans bigboss:/etc/hosts
|
|
runErrorScript "vdn-ssh root@bigboss 'sed -i -re s/tiny/tini/g /etc/hosts'";;
|
|
|
|
"Correction erreur 2 (TP1)")
|
|
runErrorScript "vdn-ssh root@bigboss 'sed -i -re s/tini/tiny/g /etc/hosts'";;
|
|
|
|
|
|
"Erreur 3 (TP2)")
|
|
# NFS : remplace tiny par bigboss dans bigboss:/etc/exports
|
|
runErrorScript "vdn-ssh root@bigboss \
|
|
'sed -i -re s/tiny/bigboss/g /etc/exports; \
|
|
systemctl restart nfs-kernel-server'";;
|
|
|
|
"Correction erreur 3 (TP2)")
|
|
runErrorScript "vdn-ssh root@bigboss \
|
|
'sed -i -re s/bigboss/tiny/g /etc/exports; \
|
|
systemctl restart nfs-kernel-server'";;
|
|
|
|
|
|
"Erreur 4 (TP3)")
|
|
# Apache2 (bigboss) : renomme /var/www/html /var/www/html.bak sur bigboss
|
|
runErrorScript "vdn-ssh root@bigboss 'mv /var/www/html /var/www/html.bak'";;
|
|
|
|
"Correction erreur 4 (TP3)")
|
|
runErrorScript "vdn-ssh root@bigboss 'mv /var/www/html.bak /var/www/html'";;
|
|
|
|
|
|
"Erreur 5 (TP4)")
|
|
# cache tiny:~titi/.ssh/authorized_keys
|
|
runErrorScript "vdn-ssh root@tiny \
|
|
'su -c \" \
|
|
mv ~/.ssh/authorized_keys ~/.ssh/.authorized_keys.bak \
|
|
\" - titi' \
|
|
";;
|
|
|
|
|
|
"Correction erreur 5 (TP4)")
|
|
# restaure tiny:~titi/.ssh/authorized_keys
|
|
runErrorScript "vdn-ssh root@tiny \
|
|
'su -c \" \
|
|
mv ~/.ssh/.authorized_keys.bak ~/.ssh/authorized_keys \
|
|
\" - titi' \
|
|
";;
|
|
|
|
"Erreur 6 (TP5)")
|
|
# Désactive la fonction routage de societe
|
|
runErrorScript "vdn-ssh root@societe 'sysctl -w net.ipv4.ip_forward=0'";;
|
|
|
|
"Correction erreur 6 (TP5)")
|
|
runErrorScript "vdn-ssh root@societe 'sysctl -w net.ipv4.ip_forward=1'";;
|
|
|
|
|
|
"testAll-1A")
|
|
vdn-scripts testAll-1A;;
|
|
|
|
"Quitter") exit 0;;
|
|
|
|
esac
|
|
|
|
|
|
}
|
|
|
|
run() {
|
|
|
|
cat << EOF
|
|
|
|
Le menu ci-dessous permet de générer des erreurs sur votre réseau !
|
|
|
|
Pour "jouer" il faut au préalable que votre réseau soit complètement
|
|
opérationnel (le script testAll-1A affiche ok pour tout).
|
|
|
|
Si c'est le cas, déclenchez une erreur, lancez le script testAll-1A
|
|
pour découvrir l'ampleur des dégâts et rétablissez le fonctionnement
|
|
optimal de votre réseau.
|
|
|
|
Si vous ne vous en sortez pas, le choix "Correction" est là pour
|
|
annuler l'erreur, théoriquement ;-)
|
|
|
|
Note :
|
|
|
|
chaque erreur est une unique commande exécutée sur une machine
|
|
du réseau. La commande peut être du genre :
|
|
|
|
vdn-ssh root@tiny "sed -i -re 's/^toto:/tutu:/' /etc/passwd"
|
|
|
|
Si un service est impacté par la commande, il est relancé afin de mettre
|
|
immédiatement en évidence les erreurs via le script testAll-1A.
|
|
|
|
Bonne chance !
|
|
|
|
EOF
|
|
select choix in \
|
|
"Erreur 1 (TP1)" \
|
|
"Correction erreur 1 (TP1)" \
|
|
"Erreur 2 (TP1)" \
|
|
"Correction erreur 2 (TP1)" \
|
|
"Erreur 3 (TP2)" \
|
|
"Correction erreur 3 (TP2)" \
|
|
"Erreur 4 (TP3)" \
|
|
"Correction erreur 4 (TP3)" \
|
|
"Erreur 5 (TP4)" \
|
|
"Correction erreur 5 (TP4)" \
|
|
"Erreur 6 (TP5)" \
|
|
"Correction erreur 6 (TP5)" \
|
|
"testAll-1A" \
|
|
"Quitter" \
|
|
; do
|
|
apply
|
|
done
|
|
}
|
|
|
|
run
|