Subversion Repositories ALCASAR

Rev

Rev 519 | Go to most recent revision | Blame | Last modification | View Log

#/bin/sh
# $Id: alcasar-nf.sh 520 2011-03-27 20:55:05Z richard $

# active ou desactive le filtrage de protocoles réseau
# enable or disable the network protocols filter
# by rexy

SED="/bin/sed -i"
FIC_SERVICES="/usr/local/etc/alcasar-services"
FIC_EXCEPTIONS="/usr/local/etc/alcasar-filter-exceptions"

usage="Usage: alcasar-nf.sh {--on or -on} | {--off | -off} "
nb_args=$#
args=$1
if [ $nb_args -eq 0 ]
then
        nb_args=1
        args="-h"
fi
case $args in
        -\? | -h* | --h*)
                echo "$usage"
                exit 0
                ;;
        -on|-on)        
                # activation du filtrage réseau
                $SED "s?^PROTO_FILTERING.*?PROTO_FILTERING=\"yes\"?g" /usr/local/bin/alcasar-iptables.sh
                # tri du fichier de services
                $SED "/^$/d" $FIC_SERVICES # suppression lignes vides
                sort -k2n $FIC_SERVICES > /tmp/alcasar-services-sort
                mv -f /tmp/alcasar-services-sort $FIC_SERVICES
                chown root:apache $FIC_SERVICES
                chmod 660 $FIC_SERVICES
                # vérification de présence du fichier d'exception
                [ -e $FIC_EXCEPTIONS ] || touch $FIC_EXCEPTIONS
                chown root:apache $FIC_EXCEPTIONS
                chmod 664 $FIC_EXCEPTIONS
                /usr/local/bin/alcasar-iptables.sh
                ;;
        --off|-off)
                # désactivation du filtrage réseau
                $SED "s?^PROTO_FILTERING.*?PROTO_FILTERING=\"no\"?g" /usr/local/bin/alcasar-iptables.sh
                /usr/local/bin/alcasar-iptables.sh
                ;;
        *)
                echo "Argument inconnu :$1";
                echo "$usage"
                exit 1
                ;;
esac