#1 Le 07/02/2008, à 00:37
- llwynrt
controle des horaires de connexion
bonjour
sur le forum, plusieurs personnes cherchaient à contrôler les horaires de connexion de leurs enfants par exemple. on peut utiliser le fichier /etc/security/time.conf, mais la personne n'est pas déconnectée quand l'heure expire.
j'ai bricolé un script qui permet de régler le problème en couplant time.conf pour la connexion et fcron pour la déconnection.
c'est mon premier vrai script, je suis ouverte à toutes les suggestions pour l'améliorer
[edit]lien vers la dernière version : http://www.marie-alex.fr/controle_parental.tar.gz[/edit]
copiez le code dans un fichier et nommez le parental, rendez le exécutable et lancez le avec : sudo sh parental
#! /bin/sh
###################################################################
# ~ Informations ~
# Ce script permet de limiter les horaires de connexion des utilisateurs.
# Il utilise pam et fcron et modifie les fichiers /etc/pam.d/gdm et /etc/security/time.conf
#
# Créez un fichier "autorisation" dans le même répertoire que ce script et
# le remplir de la manière suivante, une ligne par utilisateur :
# pseudo : jour heuredébut-heurefin|heuredébut-heurefin
# llwynrt : lundi 0800-1600|mardi 0935-1745
#
# pour le lancer : sudo sh parental
#
# Script réalisé par llwynrt - licence GPL
# Version 0.1 - 07/02/2008
###################################################################
#on configure pam pour controler la connection
test=$(grep pam_time.so /etc/pam.d/gdm)
if [ $test = ""]
then
sudo echo "account required pam_time.so" >> /etc/pam.d/gdm
fi
#on efface les réglages déjà faits
sed -i".bak" '/*;*;/d' /etc/security/time.conf
sudo fcrontab -l > fnewcrontab
sudo sed -i '/skill -u/d' fnewcrontab
sudo fcrontab fnewcrontab
echo "" > temp
#ajout des horaires de connexion dans /etc/security/time.conf
while read line
do
user=$(echo "$line" | cut -d' ' -f1)
var=$(echo "$line" | cut -d':' -f2)
var2=$(echo "$var" | sed "s/lundi /Mo/g" | sed "s/mardi /Tu/g" | sed "s/mercredi /We/g" | sed "s/jeudi /Th/g" | sed "s/vendredi /Fr/g" | sed "s/samedi /Sa/g" | sed "s/dimanche /Su/g")
echo "*;*;$user;$var2" >> /etc/security/time.conf
var3=$(echo "$user $var" | sed "s/lundi/1/g" | sed "s/mardi/2/g" | sed "s/mercredi/3/g" | sed "s/jeudi/4/g" | sed "s/vendredi/5/g" | sed "s/samedi/6/g" | sed "s/dimanche/7/g" | sed "s/|/|"$user" /g")
echo $var3 >> temp
sed -i 's/|/\n/g' temp
done <autorisations
#ajout des horaires de déconnection dans fcron
sudo fcrontab -l > fnewcrontab
sed -i '/^$/d' temp
while read line2
do
user=$(echo "$line2" | cut -d' ' -f1)
day=$(echo "$line2" | cut -d' ' -f2 | cut -c1)
h=$(echo "$line2" | cut -d' ' -f3 | cut -c6-7)
m=$(echo "$line2" | cut -d' ' -f3 | cut -c8-9)
echo "& $m $h * * $day skill -u $user" >> fnewcrontab
done <temp
sudo fcrontab fnewcrontab
sudo rm temp fnewcrontab
Marie-Lyse
Dernière modification par llwynrt (Le 22/12/2008, à 14:31)
Les erreurs Windows, c'est un peu comme les rêves, il faut savoir les interpréter, parfois ça peut vouloir dire quelque chose !
Hors ligne
#2 Le 07/02/2008, à 01:59
- misteraph
Re : controle des horaires de connexion
C'est dommage d'en arriver là avec ses enfants !
Hors ligne
#3 Le 07/02/2008, à 05:49
- ppmt
Re : controle des horaires de connexion
Comment ca dommage?
C'est pas toujours facile de faire comprendre aux enfants qu'il n'y a pas que l'ordinateur et le site des Bisounours dans la vie
le dock dont vous avez toujours rêvé Cairo-Dock
irc://irc.freenode.net/#Cairo-Dock-fr
Hors ligne
#4 Le 07/02/2008, à 09:18
- Dud
Re : controle des horaires de connexion
Déjà si on lance le script avec les droits root (sudo), je pense que l'on peut enlever tous les appels à sudo dans le script.
Sinon je n'ai pas bien compris comment fonctionnait la boucle :
while read line
do
...
done <autorisations
Qu'est ce que c'est autorisations??
Hors ligne
#5 Le 07/02/2008, à 10:42
- llwynrt
Re : controle des horaires de connexion
# Créez un fichier "autorisation" dans le même répertoire que ce script et
# le remplir de la manière suivante, une ligne par utilisateur :
# pseudo : jour heuredébut-heurefin|heuredébut-heurefin
# llwynrt : lundi 0800-1600|mardi 0935-1745
Marie-Lyse
Les erreurs Windows, c'est un peu comme les rêves, il faut savoir les interpréter, parfois ça peut vouloir dire quelque chose !
Hors ligne
#6 Le 07/02/2008, à 15:34
- Dud
Re : controle des horaires de connexion
Toutes mes excuses j'avais lu le début en diagonale.
En fait j'avais jamais vu que l'on pouvait utiliser une redirection dans une boucle pour lire chaque ligne d'un fichier. Enfin bref c'est cool j'ai appris un ptit truc aujourd'hui.
Hors ligne
#7 Le 02/03/2008, à 14:11
- yurek
Re : controle des horaires de connexion
je pense a coupler ton script avec zenity et surtout le calendrier qu'il propose, ca simplifierait la configuration, il faudrait rajouter une option pour supprimer restaurer ou supprimer sauvegarder la configuration.
http://doc.ubuntu-fr.org/installation/debutants
http://doc.ubuntu-fr.org/diagnostic
http://doc.ubuntu-fr.org/diagnostic_outils
http://doc.ubuntu-fr.org/reflexe_ubunteros
Hors ligne
#8 Le 02/03/2008, à 19:10
- llwynrt
Re : controle des horaires de connexion
c'est une bonne idée, mais le calendrier de zenity permet seulement de sélectionner des dates il me semble, alors que là on veut un intervalle de temps.
Marie-Lyse
Les erreurs Windows, c'est un peu comme les rêves, il faut savoir les interpréter, parfois ça peut vouloir dire quelque chose !
Hors ligne
#9 Le 02/03/2008, à 19:42
- yurek
Re : controle des horaires de connexion
on choisi la date de début, la date de fin, on peux meme etre un peux astucieux et utiliser des bouton radio pour le choix des options, pour l'heure il suffit de demander avec des boite de dialogue, de formater le tout avec sed ou meme awk, et de réinjecter les valeur dans ton script.
qu'en pense tu?
http://doc.ubuntu-fr.org/installation/debutants
http://doc.ubuntu-fr.org/diagnostic
http://doc.ubuntu-fr.org/diagnostic_outils
http://doc.ubuntu-fr.org/reflexe_ubunteros
Hors ligne
#10 Le 02/03/2008, à 20:50
- yurek
Re : controle des horaires de connexion
bref j'ai commencé la "programmation" une fois que j'aurais fini je poste le tout.
http://doc.ubuntu-fr.org/installation/debutants
http://doc.ubuntu-fr.org/diagnostic
http://doc.ubuntu-fr.org/diagnostic_outils
http://doc.ubuntu-fr.org/reflexe_ubunteros
Hors ligne
#11 Le 03/03/2008, à 11:43
- llwynrt
Re : controle des horaires de connexion
j'avais pensé à une interface de ce genre :
mais ça parait difficile à faire avec zenity
ça m'intéresse en tout cas de voir ce que tu veux faire
Marie-Lyse
Les erreurs Windows, c'est un peu comme les rêves, il faut savoir les interpréter, parfois ça peut vouloir dire quelque chose !
Hors ligne
#12 Le 03/03/2008, à 20:12
- yurek
Re : controle des horaires de connexion
effectivement (c'est pas bien de copier sur vista !! )
je vais contacter le créateur de zenity pour lui demander des précisions sur sont code source, je compte ajouter une extension. Je vais voir.
Je t'avouerai que je faisais seulement des boite de dialogues . mais bon je vais essayer d'etre a la hauteur de ton apercu.
http://doc.ubuntu-fr.org/installation/debutants
http://doc.ubuntu-fr.org/diagnostic
http://doc.ubuntu-fr.org/diagnostic_outils
http://doc.ubuntu-fr.org/reflexe_ubunteros
Hors ligne
#13 Le 04/03/2008, à 21:11
- kodiak
Re : controle des horaires de connexion
Revenu par hasard sur ce thread, je constate que les choses avancent!
Même si je suis incapable de vous aider, je vous encourage et attends avec intérêt le résultat. Il n'y a pas que Marie-Lyse qui a besoin de brider (un peu...) l'accès à l'ordinateur libre-service familial.
Ubuntu depuis 04.10 === aujourd'hui 20.04
Hors ligne
#14 Le 06/03/2008, à 06:31
- Brunod
Re : controle des horaires de connexion
+1
Bd
Windows est un système d'exploitation de l'homme par l'ordinateur. Linux, c'est le contraire...
39 pc linux convertis
Hors ligne
#15 Le 06/03/2008, à 21:54
- llwynrt
Re : controle des horaires de connexion
je n'utilise pas vista !! et sous xp il faut utiliser la ligne de commande et modifier la base de registre, pas d'interface graphique ...
Marie-Lyse
Les erreurs Windows, c'est un peu comme les rêves, il faut savoir les interpréter, parfois ça peut vouloir dire quelque chose !
Hors ligne
#16 Le 06/03/2008, à 23:24
- virgilerl
Re : controle des horaires de connexion
Merci llwynrt
J'ai du mal à voir le script (problème récurrent de caractères sur Ubuntu , passons)
Avant la déconnexion .... ne serait il pas judicieux d'avertir par un son , un message !....
Attendez ..... il y a une version d'ubuntu . Je cherche et j'ai trouvé .
http://www.whatwouldjesusdownload.com/c … shots.html
Merci d'éviter toute polèmique ....
D'après mes souvenirs , il y a des outils pour éviter les problèmes sur internet .... Et il y a peut être ce que vous essayez de faire ..... A voir
Maintenant à vous de supprimer sur cette version Ubuntu , les applications que vous n'appreciez pas ....
Bonne soirée
Virgilerl
Hors ligne
#17 Le 06/03/2008, à 23:40
- llwynrt
Re : controle des horaires de connexion
Avant la déconnexion .... ne serait il pas judicieux d'avertir par un son , un message !....
effectivement ce serait une bonne idée, j'y avais pensé mais je voulais d'abord faire un truc qui marche avant de fignoler.
Marie-Lyse
Les erreurs Windows, c'est un peu comme les rêves, il faut savoir les interpréter, parfois ça peut vouloir dire quelque chose !
Hors ligne
#18 Le 07/03/2008, à 06:51
- kodiak
Re : controle des horaires de connexion
Ubuntu Christian edition a déjà été invoqué dans ce contexte. Cette 'version' basée sur la 7.04 se contente d'inclure (en plus d'autres applications) le logiciel de filtrage parental DansGuardian, qui empèche nos chères têtes blondes d'aller surfer là où il ne faut pas. Comme le souligne Figaro (ici), ceux que cela intéresse peuvent installer DansGuardian en suivant les conseils de cette page de la doc ubuntu-fr, sans devoir remplacer votre Gusty par Ubuntu CE. Puisqu'on en est au solutions déjà testées, il y a aussi GShutdown, qui ne répond pas au besoin évoqué.
DansGuardian ne permet pas de contôler le temps passé devant la machine, pas forcément sur internet. Je connais un 4 ans qui a du mal à choisir entre Tuxpaint et le Lego.
@llwynrt
1. merci de m'avoir fait découvrir sed.
2. est-il vraiment nécessaire de partir sur un tableau graphique? Le paramétrage 'à la main' sous forme de ligne pseudo : jour heuredébut-heurefin|heuredébut-heurefin dans /etc/security/time.conf me semble suffisant.
3. pourquoi avoir francisé les variables de date (Mo, Tu,...)? Vous perdez au passage We (weekend) et Wk (weekdays)...
4. En comparant votre script avec celui de |-Corpse-|, je remarque que le sien semble (excuser mon manque de compétences techniques) permettre de décompter le nombre de minutes utilisées, consécutivement ou non, dans la journée, et pas seulement restreindre la plage horaire. Y avez-vous pensé?
Good luck.
Ubuntu depuis 04.10 === aujourd'hui 20.04
Hors ligne
#19 Le 07/03/2008, à 09:31
- yurek
Re : controle des horaires de connexion
bonjour tous le monde.
J'ai télécharger cette application (controle parentale) je suis en train de l'adapter pour ubuntu gutsy (trop de script mal écrit je trouve) et je post.
http://doc.ubuntu-fr.org/installation/debutants
http://doc.ubuntu-fr.org/diagnostic
http://doc.ubuntu-fr.org/diagnostic_outils
http://doc.ubuntu-fr.org/reflexe_ubunteros
Hors ligne
#20 Le 17/03/2008, à 05:58
- kodiak
Re : controle des horaires de connexion
@yurek
ça donne quoi ?
Ubuntu depuis 04.10 === aujourd'hui 20.04
Hors ligne
#21 Le 17/03/2008, à 11:20
- yurek
Re : controle des horaires de connexion
j'ai tester l'installation dansguardian_gui avec tous les dépendances, les configuration Mais pas de chance ca ne veut pas fonctionner chez moi, je suis en 64bit et le lancement du gui pose problemes, j'ai modifier les scripts qui était trop radicales. Actuellement je ne suis pas maitre de ma connexion internet je vais recommencer avec les sources dans quelques semaines... Pendant ce temp je regarde a droite a gauche si je peux trouvé une autre solution. Mais ca va prendre un bout de temp vu que je fait plein de chose entre temp...
Du coté du calendrier j'attend une réponse de l'auteur.
Dernière modification par yurek (Le 17/03/2008, à 11:32)
http://doc.ubuntu-fr.org/installation/debutants
http://doc.ubuntu-fr.org/diagnostic
http://doc.ubuntu-fr.org/diagnostic_outils
http://doc.ubuntu-fr.org/reflexe_ubunteros
Hors ligne
#22 Le 18/03/2008, à 11:03
- |-Corpse-|
Re : controle des horaires de connexion
Je viens de retomber sur ce topic (et tant qu'à faire, sur mon mini-script que j'avais totalement oublié), et je compte bien m'y remettre d'ici quelques jours.
Je trouve plus intéressant de définir un temps de connexion maximum par jour, je trouve ça plus "juste" envers un enfant. Que se passe-t-il si on l'autorise à se connecter de 16h à 18h, et que pendant cette période il n'a pas accès à l'ordinateur ? Ou si il veut/doit faire autre chose ?
Hors ligne
#23 Le 20/03/2008, à 07:07
- kodiak
Re : controle des horaires de connexion
@ |-Corpse-|
Cela semble effectivement être le besoin recherché: décompter le temps passé sur l'ordi d'un "crédit-temps" donné à l'utilisateur, crédit qui serait:
1. hebdomadaire (tant d'heures par semaine...), et
2. découpé en tranches (...DONT pas plus de tant d'heures par jour...), et
3. limité à certaines plages horaires (...entre telle et telle heure tel jour, entre telle et telle heure tel autre jour...).
Les 3 conditions étant réglables et cumulatives.
Il s'agit bien de limiter l'utilisation à l'ordinateur, et pas seulement l'accès à internet (donc une solution /etc/security/time.conf plutôt que DansGuardian).
Je n'ai aucune idée du degré de difficulté, mon seul indicateur étant que cela dépasse mes capacités et que, jusqu'ici, mes recherches pour trouver quelque chose d'existant n'ont pas abouti.
Bonne chance.
Ubuntu depuis 04.10 === aujourd'hui 20.04
Hors ligne
#24 Le 26/03/2008, à 14:16
- mehd36
Re : controle des horaires de connexion
Apparemment, sous hardy, fcron n'est plus utilisé... Dans la liste des services, les planificateurs d'événements sont anacron et atd...
Lequel utiliser pour adapter le script sous hardy ?
Naturellement, avec le script, la commande fcrontab renvoie un message d'erreur... Est-ce que ça marcherait en remplaçant tout simplement fcrontab par anacrontab ?
Au pire j'pourrais l'installer et démarrer le service.. Mais ça m'embeterait de l'utiliser que pour ça...
Hors ligne
#25 Le 26/03/2008, à 15:36
- llwynrt
Re : controle des horaires de connexion
je pense que anacron ferait l'affaire.
l'intérêt de fcron est de remplacer cron et anacron, la doc explique ça : http://doc.ubuntu-fr.org/fcron
Marie-Lyse
Les erreurs Windows, c'est un peu comme les rêves, il faut savoir les interpréter, parfois ça peut vouloir dire quelque chose !
Hors ligne