editor, reviewer
523
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 | # une partie du code est tirée du script alcasar-bl.sh créé par Franck BOUIJOUX et Richard REY | ||
# | # 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 # | 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 | 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 | 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 | # 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 | # 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 | 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 | ## 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 | ## 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 | 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 | # 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 | 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é | 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 | # 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 | -nodep => si placé aprés -i ou -u permet de ne pas installer/désinstaller les dépendances, utiles si | ||
on | 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 => | -nomanuel => utilisé uniquement pour le script de postinst et prerm | ||
du deb. | du deb. | ||
-gcton => | -gcton => créé un groupe de privilégiés ne subissant pas le filtrage. | ||
mais | mais ralentit les ouvertures de sessions, quand on passe d'un user restreint à un qui ne l'est pas | ||
et inversement. | |||
exemple:CTparental.sh -gctulist | exemple:CTparental.sh -gctulist | ||
editer $FILE_GCTOFFCONF et y | 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 => | -gctoff => supprime le groupe de privilégiés . | ||
tous les utilisateurs du | tous les utilisateurs du système subissent le filtrages!! | ||
-gctulist => | -gctulist => Met a jour le fichier de conf du groupe , $FILE_GCTOFFCONF | ||
en fonction des | en fonction des utilisateurs ajoutés ou supprimés du pc. | ||
-gctalist => Ajoute/ | -gctalist => Ajoute/Supprime les utilisateurs dans le group ctoff en fonction du fichier de conf. | ||
" | " | ||
Ligne 1 656 : | Ligne 1 656 : | ||
;; | ;; | ||
-uctl ) | -uctl ) | ||
# | # 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 | ### 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) |