Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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. big_smile

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. tongue

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 :
calendrier.png
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 .... roll
D'après mes souvenirs , il y a des outils pour éviter les problèmes sur internet .... Et il y a peut être hmm ce que vous essayez de faire ..... A voir smile

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

virgilerl a écrit :

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