A voir également:
- [Mandrake] extinction ou blocage ecran auto
- Double ecran - Guide
- Capture d'écran whatsapp - Accueil - Messagerie instantanée
- Retourner ecran pc - Guide
- Capture d'écran samsung - Guide
- Capture d'écran mac - Guide
5 réponses
Je ne suis pas sûre de mon coup car je ne sais pas si linux inspecte continuellement /etc/passwd ou s'il faut l'informer d'une modification de ce fichier. En supposant qu'il inspecte à chaque fois /etc/passwd, où que tu trouves un moyen de faire un rafraichissement, tu peux essayer la manip suivante...
Dans une console root :
Tu supprimes la ligne de login de ton fils dans /etc/passwd.nuit. Le lien /etc/passwd pointe sur /etc/passwd.jour, et on backup /etc/passwd dans /etc/passwd.bak au cas où tu te trompes. Assure toi que tout va bien en faisant un :
Ensuite il faut utiliser la crontab pour qu'à l'heure du lever :
... et à l'heure du coucher :
(ou kdm ou gdm selon ce que tu as installé. Pour le voir, ls /etc/init.d). Bien sûr il ne faut pas qu'il soit root sur sa machine ;-) Pour plus d'infos :
Autre point je ne sais pas ce qui se passe si l'ordi n'est pas allumé à ces deux heures (à mon avis le cron risque de ne pas faire ces deux jobs... à vérifier)
Bonne chance
Dans une console root :
cp /etc/passwd /etc/passwd.bak cp /etc/passwd /etc/passwd.jour mv /etc/passwd /etc/passwd.nuit ln -s /etc/passwd /etc/passwd.jour
Tu supprimes la ligne de login de ton fils dans /etc/passwd.nuit. Le lien /etc/passwd pointe sur /etc/passwd.jour, et on backup /etc/passwd dans /etc/passwd.bak au cas où tu te trompes. Assure toi que tout va bien en faisant un :
ls -l /etc
Ensuite il faut utiliser la crontab pour qu'à l'heure du lever :
rm /etc/passwd ln -s /etc/passwd /etc/passwd.jour
... et à l'heure du coucher :
rm /etc/passwd ln -s /etc/passwd /etc/passwd.nuit /etc/init.d/xdm restart
(ou kdm ou gdm selon ce que tu as installé. Pour le voir, ls /etc/init.d). Bien sûr il ne faut pas qu'il soit root sur sa machine ;-) Pour plus d'infos :
man cron man crontab
Autre point je ne sais pas ce qui se passe si l'ordi n'est pas allumé à ces deux heures (à mon avis le cron risque de ne pas faire ces deux jobs... à vérifier)
Bonne chance
Salut,
On pourra utiliser le vérouillage de compte et le planifier avec crontab.
A une heure spécifiée on vérouille le compte ( passwd -l MONFILS ) et on exécute /etc/init.d/xdm restart(vu le msg de mamiemando).
A une heure spécifiée on devérouille le compte passwd -u MONFILS.
On pourra utiliser le vérouillage de compte et le planifier avec crontab.
A une heure spécifiée on vérouille le compte ( passwd -l MONFILS ) et on exécute /etc/init.d/xdm restart(vu le msg de mamiemando).
A une heure spécifiée on devérouille le compte passwd -u MONFILS.
Re,
Voilà une façon de le faire.
D'abord créer un script ( je l'ai enregistré dans /root avec le nom kill_user_session )
Ensuite j'ai edité crontab
[root@localhost ~]# crontab -e
et j'ai ajouté les lignes
la 1ère ligne arrête la session de monfils mais n'éteint pas le pc et verrouille son compte. Donc s'il veut se connecter il ne pourras pas puisque son compte est verrouiller.
la 2ème ligne doit deverrouiller sont compte à 10 h (heure d'ouverture de pc, c'est un exemple, à toi de voir)
Si le pc n'est pas allumé au moment quand le crontab dois s'éxécuter alors ça ne marche pas.
Par exemple si monfils sait que le crontab doit verrouiller son compte à 21h00 alors il peut eteindre l'ordinateur à 20h59 et l'allumer à 21h01.
En ce cas il faut peut être écrire comme ça la 1ère ligne
*/1 21-23 * * * (/usr/bin/perl /root/kill_user_session)
donc après de 21h00 à 24h00 toutes les minutes le script est exécuté donc monfils ne sera pas content d'allumer le pc toutes le minutes.
Pareil si tu n'as pas une heure fixe pour allumer le pc (et je crois que c'est le cas) la deuxième ligne peut être
0-58/1 6-20 * * * (passwd -u monfils)
man crontab
man 5 crontab
man passwd
Voilà une façon de le faire.
D'abord créer un script ( je l'ai enregistré dans /root avec le nom kill_user_session )
[root@localhost ~]# cat /root/kill_user_session #! /usr/bin/perl use warnings; use strict; my @user_pid = grep { /.*/ } qx(ps -ef | grep 'monfils'); foreach(@user_pid){ my $pid=(split /\s+/,$_)[1]; system "kill", "-9","$pid"; # tuer les processus de monfils } system "passwd","-l","monfils"; # verrouiller le compte
Ensuite j'ai edité crontab
[root@localhost ~]# crontab -e
et j'ai ajouté les lignes
00 21 * * * (/usr/bin/perl /root/kill_user_session) 00 10 * * * (passwd -u monfils)
la 1ère ligne arrête la session de monfils mais n'éteint pas le pc et verrouille son compte. Donc s'il veut se connecter il ne pourras pas puisque son compte est verrouiller.
la 2ème ligne doit deverrouiller sont compte à 10 h (heure d'ouverture de pc, c'est un exemple, à toi de voir)
Si le pc n'est pas allumé au moment quand le crontab dois s'éxécuter alors ça ne marche pas.
Par exemple si monfils sait que le crontab doit verrouiller son compte à 21h00 alors il peut eteindre l'ordinateur à 20h59 et l'allumer à 21h01.
En ce cas il faut peut être écrire comme ça la 1ère ligne
*/1 21-23 * * * (/usr/bin/perl /root/kill_user_session)
donc après de 21h00 à 24h00 toutes les minutes le script est exécuté donc monfils ne sera pas content d'allumer le pc toutes le minutes.
Pareil si tu n'as pas une heure fixe pour allumer le pc (et je crois que c'est le cas) la deuxième ligne peut être
0-58/1 6-20 * * * (passwd -u monfils)
man crontab
man 5 crontab
man passwd
Salut,
D'abord "chapeau" au deux contributeurs (mamie et l'ami) pour leur solution.
Et pour ne pas que ton fiston se fasse éjecter comme un malpropre, un petit truc facile à mettre en place et à lancer en parallèle avec les scripts précédents.
Assure-toi d'avoir "Xdialog" d'installer sur ton système (sinon mets un petit coup d' urpmi Xdialog) et crées un script avec ça dedans :
;-))
Z'@+...che.
D'abord "chapeau" au deux contributeurs (mamie et l'ami) pour leur solution.
Et pour ne pas que ton fiston se fasse éjecter comme un malpropre, un petit truc facile à mettre en place et à lancer en parallèle avec les scripts précédents.
Assure-toi d'avoir "Xdialog" d'installer sur ton système (sinon mets un petit coup d' urpmi Xdialog) et crées un script avec ça dedans :
#!/bin/bashÀ lancer bien évidemment 5 minutes avant l'heure fatidique...
heure="$(date | awk '{ print $4 }')"
Xdialog --title "Avertissement" \
--backtitle "\nATTENTION !!!\n"\
--msgbox "\nIl est très exactement\n\n\
$heure\n\n\
Il ne te reste plus que 5 minutes\n\
avant que la session ne se termine...\n\
Bonne nuit... " 20 50
;-))
Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question