« Contrôle parental » : différence entre les versions

Aller à la navigation Aller à la recherche
version 3.21 nombreux correctif pour le paramètre -tlo + nouveau paramètre caché -deb utile pour la création du deb.
(ajout du code interface web)
(version 3.21 nombreux correctif pour le paramètre -tlo + nouveau paramètre caché -deb utile pour la création du deb.)
Ligne 15 : Ligne 15 :
#fi
#fi
args=${1}
args=${1}
installdeb="0"
if [ ! -z ${2} ];then
  if [ ${2} = "-deb" ];then # utiliser dans les fichiers postinst et prerm du deb
      installdeb="1"
  else
  DIRhtmlPersonaliser=${2}
  if [ ! -d $DIRhtmlPersonaliser ];then
      echo "Chemin de répertoir non valide!"
      exit 0
  fi
  fi
fi
SED="/bin/sed -i"
SED="/bin/sed -i"
DIR_CONF="/usr/local/etc/CTparental"
DIR_CONF="/usr/local/etc/CTparental"
Ligne 27 : Ligne 39 :
HOURSCONNECT=OFF
HOURSCONNECT=OFF
EOF
EOF
fi
fi


Ligne 63 : Ligne 74 :
REALMADMINHTTPD="interface admin"
REALMADMINHTTPD="interface admin"
CMDINSTALL=""
CMDINSTALL=""
paquetresolv="resolvconf"
yum help 2&> /dev/null
yum help 2&> /dev/null
if [ $? -eq 0 ] ; then
if [ $? -eq 0 ] ; then
Ligne 68 : Ligne 80 :
   CMDINSTALL="yum install "
   CMDINSTALL="yum install "
   CMDREMOVE="yum remove "
   CMDREMOVE="yum remove "
  yum info openresolv 2&> /dev/null
  if [ $? -eq 0 ] ; then
paquetresolv="openresolv"
  else
        paquetresolv="resolvconf"
  fi
fi
fi
urpmi --help 2&> /dev/null
urpmi --help 2&> /dev/null
Ligne 81 : Ligne 87 :
   CMDREMOVE="urpme --auto "
   CMDREMOVE="urpme --auto "
   namservicecrond="crond"
   namservicecrond="crond"
  paquetresolv="openresolv"
fi
fi
apt-get -h 2&> /dev/null
apt-get -h 2&> /dev/null
Ligne 88 : Ligne 93 :
   CMDINSTALL="apt-get -y --force-yes install "
   CMDINSTALL="apt-get -y --force-yes install "
   CMDREMOVE="apt-get -y --force-yes remove --purge "
   CMDREMOVE="apt-get -y --force-yes remove --purge "
  paquetresolv="resolvconf" # pour compatibiliter debian 6
fi
fi
if [ $args="-i" ] ; then
if [ $args="-i" ] ; then
Ligne 98 : Ligne 102 :
   fi
   fi
fi
fi
if [ $( echo $CMDINSTALL | wc -m ) -eq 1 ] ; then
if [ $( echo $CMDINSTALL | wc -m ) -eq 1 ] ; then
   echo "Aucun gestionner de paquet connu , n'a été détecté."
   echo "Aucun gestionner de paquet connu , n'a été détecté."
  set -e
   exit 1
   exit 1
fi
fi




Ligne 176 : Ligne 183 :
       echo "erreur lors du téléchargement processu interompu"
       echo "erreur lors du téléchargement processu interompu"
       rm -rf $tempDIR
       rm -rf $tempDIR
      set -e
       exit 1
       exit 1
   fi
   fi
Ligne 181 : Ligne 189 :
   if [ ! $? -eq 0 ]; then
   if [ ! $? -eq 0 ]; then
       echo "erreur d'extraction de l'archive processu interompu"
       echo "erreur d'extraction de l'archive processu interompu"
      set -e
       exit 1
       exit 1
   fi
   fi
Ligne 477 : Ligne 486 :
USERHTTPD=$(cat /etc/passwd | grep /var/www | cut -d":" -f1)
USERHTTPD=$(cat /etc/passwd | grep /var/www | cut -d":" -f1)
GROUPHTTPD=$(cat /etc/group | grep $USERHTTPD | cut -d":" -f1)
GROUPHTTPD=$(cat /etc/group | grep $USERHTTPD | cut -d":" -f1)
 
chmod 640 $FILE_CONF
chown root:$GROUPHTTPD $FILE_CONF
cat << EOF > $MAINCONFHTTPD
cat << EOF > $MAINCONFHTTPD
server.modules = (
server.modules = (
Ligne 568 : Ligne 578 :
mkdir -p $DIRadminHTML
mkdir -p $DIRadminHTML
cp -rf CTadmin/* $DIRadminHTML/
cp -rf CTadmin/* $DIRadminHTML/
clear  
#if [ $installdeb = "1" ]; then
echo "Entrer le login pour l'interface d'administration :"
# addadminhttpd "admin" "admin"
while (true); do
#else
read loginhttp
clear  
case $loginhttp in
echo "Entrer le login pour l'interface d'administration :"
* )
while (true); do
echo "login:  $loginhttp" > /root/passwordCTadmin
read loginhttp
break
case $loginhttp in
;;
* )
        esac
echo "login:  $loginhttp" > /root/passwordCTadmin
      done
break
clear
;;
      echo "Entrer le mot de $loginhttp :"
esac
      while (true); do
done
read password
clear
case $password in
echo "Entrer le mot de $loginhttp :"
* )
while (true); do
echo "password: $password" >> /root/passwordCTadmin
read password
                addadminhttpd "$loginhttp" "$password"
case $password in
break
* )
;;
echo "password: $password" >> /root/passwordCTadmin
        esac
        addadminhttpd "$loginhttp" "$password"
      done
break
;;
esac
done
#fi
chmod 700 /root/passwordCTadmin
chmod 700 /root/passwordCTadmin
chown root:root /root/passwordCTadmin
chown root:root /root/passwordCTadmin
Ligne 650 : Ligne 664 :
chown root:$GROUPHTTPD $FILE_HCONF
chown root:$GROUPHTTPD $FILE_HCONF
chmod 660 $FILE_HCONF
chmod 660 $FILE_HCONF
$CMDSERVICE$namservicehttpd start
$CMDSERVICE$namservicehttpd start
test=$?
if [ ! $test -eq 0 ];then
echo "Erreur au lancement du service lighttpd "
set -e
exit 1
fi
}
}


install () {
install () {
      if [ $(netstat -anlp | grep -w LISTEN | grep ":80" | cut -d"/" -f2 | wc -l ) -gt 0 ] ; then
 
  echo "le Serveur Web $(netstat -anlp | grep -w LISTEN | grep ":80" | cut -d"/" -f2 | sort -u ) tourne deja sur ce pc"
  echo "veuiller le désinstaler avant d'installer le control parental."
  exit 1
      fi
       mkdir $tempDIR
       mkdir $tempDIR
       mkdir -p $DIR_CONF
       mkdir -p $DIR_CONF
       initblenabled
       initblenabled
       cat /etc/resolv.conf > $DIR_CONF/resolv.conf.sav
       cat /etc/resolv.conf > $DIR_CONF/resolv.conf.sav
       $CMDINSTALL dnsmasq
       if [ $installdeb = "0" ]; then
      $CMDINSTALL lighttpd
      $CMDINSTALL dnsmasq
      $CMDINSTALL php5-cgi
      $CMDINSTALL lighttpd
      $CMDINSTALL php5-cgi
      fi
       if [ ! -f blacklists.tar.gz ]
       if [ ! -f blacklists.tar.gz ]
       then
       then
Ligne 673 : Ligne 692 :
         if [ ! $? -eq 0 ]; then
         if [ ! $? -eq 0 ]; then
             echo "erreur d'extraction de l'archive processu interompu"
             echo "erreur d'extraction de l'archive processu interompu"
            uninstall
            set -e
             exit 1
             exit 1
         fi
         fi
Ligne 682 : Ligne 703 :
       dnsmasqon
       dnsmasqon
       $SED "s?^LASTUPDATE.*?LASTUPDATE=$THISDAYS=`date +%d-%m-%Y\ %T`?g" $FILE_CONF
       $SED "s?^LASTUPDATE.*?LASTUPDATE=$THISDAYS=`date +%d-%m-%Y\ %T`?g" $FILE_CONF
       $CMDINSTALL $paquetresolv
       if [ $installdeb = "0" ]; then
    $CMDINSTALL $paquetresolv
      fi
       confresolvconf
       confresolvconf


Ligne 732 : Ligne 755 :
   rm -f $RESOLVDNSMASQ
   rm -f $RESOLVDNSMASQ
   resolvconf -u
   resolvconf -u
 
  if [ $installdeb = "0" ]; then
  $CMDREMOVE lighttpd
          $CMDREMOVE php5-cgi
  $CMDREMOVE dnsmasq  
  $CMDREMOVE lighttpd
  $CMDREMOVE $paquetresolv
  $CMDREMOVE dnsmasq  
  $CMDREMOVE $paquetresolv
  fi
}
}


Ligne 798 : Ligne 823 :
clear
clear
echo -e "L'heure de debut doit ètre strictement inférieur a l'heure de fin: $RougeD$input$Fcolor "
echo -e "L'heure de debut doit ètre strictement inférieur a l'heure de fin: $RougeD$input$Fcolor "
echo "exemple: 08h00 a 24h00 ou 08h00 a 12h00 et 14h00 a 24h00"
echo "exemple: 08h00 a 23h59 ou 08h00 a 12h00 et 14h00 a 23h59"
echo -e -n "$RougeD$PCUSER$Fcolor est autorisés à se connecter le $BleuD${DAYS[$NumDAY]}$Fcolor de:"
echo -e -n "$RougeD$PCUSER$Fcolor est autorisés à se connecter le $BleuD${DAYS[$NumDAY]}$Fcolor de:"
}
}
Ligne 804 : Ligne 829 :
clear
clear
echo -e "Mauvaise syntaxe: $RougeD$input$Fcolor "
echo -e "Mauvaise syntaxe: $RougeD$input$Fcolor "
echo "exemple: 08h00 a 24h00 ou 08h00 a 12h00 et 14h00 a 24h00"
echo "exemple: 08h00 a 23h59 ou 08h00 a 12h00 et 14h00 a 23h59"
echo -e -n "$RougeD$PCUSER$Fcolor est autorisés à se connecter le $BleuD${DAYS[$NumDAY]}$Fcolor de:"
echo -e -n "$RougeD$PCUSER$Fcolor est autorisés à se connecter le $BleuD${DAYS[$NumDAY]}$Fcolor de:"
}
}
Ligne 856 : Ligne 881 :
         O | o )
         O | o )
alltime="O"
alltime="O"
        echo "$PCUSER=admin=" >> $FILE_HCONF
   break
   break
         ;;
         ;;
N| n )
N| n )
         alltime="N"
         alltime="N"
        echo "$PCUSER=user=" >> $FILE_HCONF
   break
   break
         ;;
         ;;
Ligne 867 : Ligne 894 :
       for NumDAY in 0 1 2 3 4 5 6
       for NumDAY in 0 1 2 3 4 5 6
         do
         do
if [$alltime = "O"];then
if [ $alltime = "O" ];then
echo "*;*;$PCUSER;Al0000-2400" >> $FILEPAMTIMECONF
break
echo "$PCUSER=admin=" >> $FILE_HCONF
break
else
echo "$PCUSER=user=" >> $FILE_HCONF
fi
fi
 
 
Ligne 882 : Ligne 905 :
             input=$choi
             input=$choi
             choi=$(echo $choi | sed -e "s/h//g" | sed -e "s/ //g" | sed -e "s/a/-/g" | sed -e "s/et/:/g" ) # mise en forme de choi pour pam   
             choi=$(echo $choi | sed -e "s/h//g" | sed -e "s/ //g" | sed -e "s/a/-/g" | sed -e "s/et/:/g" ) # mise en forme de choi pour pam   
               if [ $( echo $choi | grep -E -c "^[0-2][0-9][0-5][0-9]-[0-2][0-9][0-5][0-9]$|^[0-2][0-9][0-5][0-9]-[0-2][0-9][0-5][0-9]:[0-2][0-9][0-5][0-9]-[0-2][0-9][0-5][0-9]$" ) -eq 1 ];then
               if [ $( echo $choi | grep -E -c "^([0-1][0-9]|2[0-3])[0-5][0-9]-([0-1][0-9]|2[0-3])[0-5][0-9]$|^([0-1][0-9]|2[0-3])[0-5][0-9]-([0-1][0-9]|2[0-3])[0-5][0-9]:([0-1][0-9]|2[0-3])[0-5][0-9]-([0-1][0-9]|2[0-3])[0-5][0-9]$" ) -eq 1 ];then
                   int1=$(echo $choi | cut -d ":" -f1 | cut -d "-" -f1)
                   int1=$(echo $choi | cut -d ":" -f1 | cut -d "-" -f1)
                   int2=$(echo $choi | cut -d ":" -f1 | cut -d "-" -f2)
                   int2=$(echo $choi | cut -d ":" -f1 | cut -d "-" -f2)
Ligne 898 : Ligne 921 :
                         MINUTES2=$(echo $int2 | sed -e 's/.\{02\}//')
                         MINUTES2=$(echo $int2 | sed -e 's/.\{02\}//')
                         HEURES2=$(echo $int2 | sed -e 's/.\{02\}$//')
                         HEURES2=$(echo $int2 | sed -e 's/.\{02\}$//')
echo "$PCUSER=$NumDAY=$HEURES1\h$MINUTES1\:$HEURES2\h$MINUTES2" >> $FILE_HCONF   
echo "$PCUSER=$NumDAY=$HEURES1${h}h$MINUTES1:$HEURES2${h}h$MINUTES2" >> $FILE_HCONF   
                         echo "$MINUTES2 $HEURES2 * * ${DAYSCRON[$NumDAY]} root /usr/bin/skill -KILL -u$PCUSER" >> /etc/cron.d/CTparental${DAYS[$NumDAY]}
                         echo "$MINUTES2 $HEURES2 * * ${DAYSCRON[$NumDAY]} root /usr/bin/skill -KILL -u$PCUSER" >> /etc/cron.d/CTparental${DAYS[$NumDAY]}
                         break
                         break
Ligne 919 : Ligne 942 :
                               HEURES4=$(echo $int4 | sed -e 's/.\{02\}$//')   
                               HEURES4=$(echo $int4 | sed -e 's/.\{02\}$//')   
                               ## minutes heures jourdumoi moi jourdelasemaine utilisateur  commande
                               ## minutes heures jourdumoi moi jourdelasemaine utilisateur  commande
      echo "$PCUSER=$NumDAY=$HEURES1\h$MINUTES1\:$HEURES2\h$MINUTES2:$HEURES3\h$MINUTES3\:$HEURES4\h$MINUTES4" >> $FILE_HCONF
      echo "$PCUSER=$NumDAY=$HEURES1${h}h$MINUTES1:$HEURES2${h}h$MINUTES2:$HEURES3${h}h$MINUTES3:$HEURES4${h}h$MINUTES4" >> $FILE_HCONF
                               echo "$MINUTES2 $HEURES2 * * ${DAYSCRON[$NumDAY]} root /usr/bin/skill -KILL -u$PCUSER" >> /etc/cron.d/CTparental${DAYS[$NumDAY]}
                               echo "$MINUTES2 $HEURES2 * * ${DAYSCRON[$NumDAY]} root /usr/bin/skill -KILL -u$PCUSER" >> /etc/cron.d/CTparental${DAYS[$NumDAY]}
                               echo "$MINUTES4 $HEURES4 * * ${DAYSCRON[$NumDAY]} root /usr/bin/skill -KILL -u$PCUSER" >> /etc/cron.d/CTparental${DAYS[$NumDAY]}
                               echo "$MINUTES4 $HEURES4 * * ${DAYSCRON[$NumDAY]} root /usr/bin/skill -KILL -u$PCUSER" >> /etc/cron.d/CTparental${DAYS[$NumDAY]}
Ligne 942 : Ligne 965 :
      
      
         done
         done
   
    if [ $alltime = "N" ] ; then
      echo "*;*;$PCUSER;$HORAIRESPAM" >> $FILEPAMTIMECONF
echo "*;*;$PCUSER;$HORAIRESPAM" >> $FILEPAMTIMECONF
else
echo "*;*;$PCUSER;Al0000-2400" >> $FILEPAMTIMECONF
fi
   done
   done
    
    
Ligne 1 053 : Ligne 1 079 :




if [ ! -z ${2} ];then
 
  DIRhtmlPersonaliser=${2}
  if [ ! -d $DIRhtmlPersonaliser ];then
      echo "Chemin de répertoir non valide!"
      exit 0
  fi
fi
usage="Usage: CTparental.sh    {-i }|{ -u }|{ -dl }|{ -ubl }|{ -rl }|{ -on }|{ -off }|{ -cble }|{ -dble }
usage="Usage: CTparental.sh    {-i }|{ -u }|{ -dl }|{ -ubl }|{ -rl }|{ -on }|{ -off }|{ -cble }|{ -dble }
                               |{ -tlo }|{ -tlu }|{ -uhtml }|{ -aupon }|{ -aupoff }|{ -aup }  
                               |{ -tlo }|{ -tlu }|{ -uhtml }|{ -aupon }|{ -aupoff }|{ -aup }  
Ligne 1 083 : Ligne 1 103 :
                     - avec un repertoir source : CTparental.sh -uhtml /home/toto/html/
                     - avec un repertoir source : CTparental.sh -uhtml /home/toto/html/
       - par default :              CTparental.sh -uhtml
       - par default :              CTparental.sh -uhtml
            permet aussi de changer le couple login ,mots de passe de l'interface web.
-aupon  => active la mise ajour automatique de la black liste de toulouse (tous les 7 jours).
-aupon  => active la mise ajour automatique de la black liste de toulouse (tous les 7 jours).
-aupoff => desactve la mise ajour automatique de la black liste de toulouse.
-aupoff => desactve la mise ajour automatique de la black liste de toulouse.
199

modifications

Menu de navigation