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

Aller à la navigation Aller à la recherche
m
aucun résumé des modifications
(selection* > sélection*)
mAucun résumé des modifications
Ligne 7 : Ligne 7 :
# par Guillaume MARSAT
# par Guillaume MARSAT
# Corrections orthographiques par Pierre-Edouard TESSIER
# Corrections orthographiques par Pierre-Edouard TESSIER
# une parti du code est tiré du script alcasar-bl.sh créé par Franck BOUIJOUX et Richard REY
# une partie du code est tirée du script alcasar-bl.sh créé par Franck BOUIJOUX et Richard REY
# présent dans le code du projet alcasar en version 2.6.1 ; web page http://www.alcasar.net/
# présente dans le code du projet alcasar en version 2.6.1 ; web page http://www.alcasar.net/
   
   
# This script is distributed under the Gnu General Public License (GPL)
# This script is distributed under the Gnu General Public License (GPL)
Ligne 14 : Ligne 14 :
if [ $# -ge 1 ];then
if [ $# -ge 1 ];then
if [ $arg1 != "-listusers" ] ; then
if [ $arg1 != "-listusers" ] ; then
if [ ! $UID -le 499 ]; then # considaire comme root tous les utilisateurs avec un uid inferieur ou egale a 499,ce qui permet a apt-get,urpmi,yum... de lance le scripte sans erreur.
if [ ! $UID -le 499 ]; then # considère comme root tous les utilisateurs avec un uid inferieur ou egale a 499,ce qui permet à apt-get,urpmi,yum... de lancer le script sans erreur.
   echo "Il vous faut des droits root pour lancer ce script"
   echo "Il vous faut des droits root pour lancer ce script"
   exit 1
   exit 1
Ligne 180 : Ligne 180 :


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 gestionnaire de paquet connu , n'a été détecté."
   set -e
   set -e
   exit 1
   exit 1
Ligne 188 : Ligne 188 :




interface_WAN=$(ip route | awk '/^default via/{print $5}' | sort -u ) # suppose que la passerelle est la route par default
interface_WAN=$(ip route | awk '/^default via/{print $5}' | sort -u ) # suppose que la passerelle est la route par défaut


if [ -f $DIR_CONF/resolv.conf.sav ];then
if [ -f $DIR_CONF/resolv.conf.sav ];then
Ligne 341 : Ligne 341 :
         do
         do
             echo -n "."
             echo -n "."
             # suppression des @IP, de caractères acccentués et des lignes commentées ou vide
             # suppression des @IP, de caractères acccentués et des lignes commentées ou vides
             cp -f $tempDIR/blacklists/$DOMAINE/domains $FILE_tmp
             cp -f $tempDIR/blacklists/$DOMAINE/domains $FILE_tmp
             $SED -r '/([0-9]{1,3}\.){3}[0-9]{1,3}/d' $FILE_tmp
             $SED -r '/([0-9]{1,3}\.){3}[0-9]{1,3}/d' $FILE_tmp
Ligne 360 : Ligne 360 :
         mkdir  $tempDIR
         mkdir  $tempDIR
         echo -n "."
         echo -n "."
  # suppression des @IP, de caractères acccentués et des lignes commentées ou vide
  # suppression des @IP, de caractères acccentués et des lignes commentées ou vides
         cp -f $DNS_FILTER_OSSI $FILE_tmp
         cp -f $DNS_FILTER_OSSI $FILE_tmp
         $SED -r '/([0-9]{1,3}\.){3}[0-9]{1,3}/d' $FILE_tmp
         $SED -r '/([0-9]{1,3}\.){3}[0-9]{1,3}/d' $FILE_tmp
Ligne 433 : Ligne 433 :


dnsmasqon () {
dnsmasqon () {
   categorie1=`sed -n "1 p" $CATEGORIES_ENABLED` # on considère que si la 1ère categorie activée est un blacklist on fonctionne par blacklist.
   categorie1=`sed -n "1 p" $CATEGORIES_ENABLED` # on considère que si la 1ère catégorie activée est un blacklist on fonctionne par blacklist.
   is_blacklist=`grep $categorie1 $BL_CATEGORIES_AVAILABLE |wc -l`
   is_blacklist=`grep $categorie1 $BL_CATEGORIES_AVAILABLE |wc -l`
   if [ $is_blacklist -ge "1" ] ; then
   if [ $is_blacklist -ge "1" ] ; then
Ligne 929 : Ligne 929 :
}
}
updatelistgctoff () {
updatelistgctoff () {
## on ajoutes tous les utilisateurs manquant dans la liste
## on ajoute tous les utilisateurs manquants dans la liste
for PCUSER in `listeusers`
for PCUSER in `listeusers`
do
do
Ligne 936 : Ligne 936 :
fi
fi
done
done
## on suprime tous ceux qui n'existe plus sur le pc.
## on supprime tout ceux qui n'existent plus sur le pc.
for PCUSER in $(cat $FILE_GCTOFFCONF | sed -e "s/#//g" )
for PCUSER in $(cat $FILE_GCTOFFCONF | sed -e "s/#//g" )
do
do
Ligne 1 142 : Ligne 1 142 :
errortime1 () {
errortime1 () {
clear
clear
echo -e "L'heure de début doit être strictement inférieure a l'heure de fin: $RougeD$input$Fcolor "
echo -e "L'heure de début doit être strictement inférieure à l'heure de fin: $RougeD$input$Fcolor "
echo "exemple: 08h00 à 23h59 ou 08h00 à 12h00 et 14h00 à 23h59"
echo "exemple: 08h00 à 23h59 ou 08h00 à 12h00 et 14h00 à 23h59"
echo -e -n "$RougeD$PCUSER$Fcolor est autorisé à se connecter le $BleuD${DAYS[$NumDAY]}$Fcolor de :"
echo -e -n "$RougeD$PCUSER$Fcolor est autorisé à se connecter le $BleuD${DAYS[$NumDAY]}$Fcolor de :"
Ligne 1 188 : Ligne 1 188 :
temprest=$(($(cat $FILE_HCONF | grep ^$PCUSER=user= | cut -d "=" -f3 ) - $count ))
temprest=$(($(cat $FILE_HCONF | grep ^$PCUSER=user= | cut -d "=" -f3 ) - $count ))
echo $temprest
echo $temprest
# si le compteur de l'usager depace la valeur max autoriser on verrouille le compte et on deconnect l'utilisateur.
# si le compteur de l'usager dépasse la valeur max autorisée on verrouille le compte et on deconnecte l'utilisateur.
if [ $temprest -le 0 ];then
if [ $temprest -le 0 ];then
/usr/bin/skill -KILL -u$PCUSER
/usr/bin/skill -KILL -u$PCUSER
Ligne 1 195 : Ligne 1 195 :
if [ $temprest -le 5 ];then
if [ $temprest -le 5 ];then
HOMEPCUSER=$(getent passwd "$PCUSER" | cut -d ':' -f6)
HOMEPCUSER=$(getent passwd "$PCUSER" | cut -d ':' -f6)
export HOME=$HOMEPCUSER && export DISPLAY=:0.0 && export XAUTHORITY=$HOMEPCUSER/.Xauthority && sudo -u $PCUSER  /usr/bin/notify-send -u critical "Alerte CTparental" "Votre temps de connection restent est de $temprest minutes "
export HOME=$HOMEPCUSER && export DISPLAY=:0.0 && export XAUTHORITY=$HOMEPCUSER/.Xauthority && sudo -u $PCUSER  /usr/bin/notify-send -u critical "Alerte CTparental" "Votre temps de connexion restant est de $temprest minutes "
fi
fi
fi
fi
Ligne 1 261 : Ligne 1 261 :
         alltime="N"
         alltime="N"
         clear
         clear
         echo -e "$PCUSER est autorisé a se connecter X minutes par jours"  
         echo -e "$PCUSER est autorisé à se connecter X minutes par jours"  
         echo -e -n "X (1 a 1440) = "  
         echo -e -n "X (1 a 1440) = "  
         while (true); do
         while (true); do
Ligne 1 395 : Ligne 1 395 :
passwd -u $PCUSER
passwd -u $PCUSER
done
done
# on remait tous les compteurs a zero.
# on remet tous les compteurs à zéro.
echo "date=$(date +%D)" > $FILE_HCOMPT
echo "date=$(date +%D)" > $FILE_HCOMPT
echo > $FILE_HCONF
echo > $FILE_HCONF
Ligne 1 536 : Ligne 1 536 :
-aupoff => désactive la mise à jour automatique de la blacklist de Toulouse.
-aupoff => désactive la mise à jour automatique de la blacklist de Toulouse.
-aup    => comme -dl mais seulement si il n'y a pas eu de mise à jour depuis plus de 7 jours.
-aup    => comme -dl mais seulement si il n'y a pas eu de mise à jour depuis plus de 7 jours.
-nodep  => si placer aprés -i ou -u permet de ne pas installer/désinstaller les dépendances, utiles si  
-nodep  => si placé aprés -i ou -u permet de ne pas installer/désinstaller les dépendances, utiles si  
             on préfaire les installer a la mains , ou pour le scripte de postinst et prerm  
             on préfère les installer à la main , ou pour le script de postinst et prerm  
             du deb.
             du deb.
             exemples:
             exemples:
Ligne 1 543 : Ligne 1 543 :
    CTparental.sh -i -dirhtml /home/toto/html/ -nodep   
    CTparental.sh -i -dirhtml /home/toto/html/ -nodep   
    CTparental.sh -u -nodep  
    CTparental.sh -u -nodep  
-nomanuel => utiliser uniquement pour le scripte de postinst et prerm  
-nomanuel => utilisé uniquement pour le script de postinst et prerm  
             du deb.
             du deb.
-gcton   => créer un group de privilégier ne subisent pas le filtrage.
-gcton   => créé un groupe de privilégiés ne subissant pas le filtrage.
mais ralenti les ouvertures de sessions, quant on passe d'un user restraint a un qui ne l'est pas  
mais ralentit les ouvertures de sessions, quand on passe d'un user restreint à un qui ne l'est pas  
est inversement.
et inversement.
exemple:CTparental.sh -gctulist
exemple:CTparental.sh -gctulist
editer $FILE_GCTOFFCONF et y commanter tous les utilisateurs que l'on veut filtrer.
editer $FILE_GCTOFFCONF et y commenter tous les utilisateurs que l'on veut filtrer.
CTparental.sh -gctalist
CTparental.sh -gctalist
(note temps qu'un utilisateur non privilégier restera connecter le filtrage sera actif!!)
(note temps qu'un utilisateur non privilégier restera connecter le filtrage sera actif!!)
-gctoff  => suprime le group de privilégier .
-gctoff  => supprime le groupe de privilégiés .
tous les utilisateurs du system subisse le filtrages!!
tous les utilisateurs du système subissent le filtrages!!
-gctulist => Mes a jour le fichier de conf du group , $FILE_GCTOFFCONF
-gctulist => Met a jour le fichier de conf du groupe , $FILE_GCTOFFCONF
en fonction des utilisateur ajouter ou suprimer du pc.
en fonction des utilisateurs ajoutés ou supprimés du pc.
-gctalist => Ajoute/Suprime les utilisateurs dans le group ctoff en fonction du fichier de conf.
-gctalist => Ajoute/Supprime les utilisateurs dans le group ctoff en fonction du fichier de conf.
 
 
  "
  "
Ligne 1 656 : Ligne 1 656 :
       ;;
       ;;
     -uctl )
     -uctl )
  # apelet toute les minute par cron pour activer desactiver les usagers ayant des restrictions de temps journalier de connection.
  # appelé toutes les minutes par cron pour activer désactiver les usagers ayant des restrictions de temps journalier de connexion.
  updatetimelogin
  updatetimelogin
       ;;       
       ;;       
Ligne 2 250 : Ligne 2 250 :




### on lit est on interprète le fichier CTparental.conf
### on lit et on interprète le fichier CTparental.conf
echo "<TABLE width='100%' border=0 cellspacing=0 cellpadding=0>";
echo "<TABLE width='100%' border=0 cellspacing=0 cellpadding=0>";
exec ("/usr/local/bin/CTparental.sh -listusers 2> /dev/null",$USERSPC); # récupération des utilisateurs du poste.(UID >= 1000)
exec ("/usr/local/bin/CTparental.sh -listusers 2> /dev/null",$USERSPC); # récupération des utilisateurs du poste.(UID >= 1000)
editor, reviewer
523

modifications

Menu de navigation