Les forums de JeuxVideo.com
-
Blacksword
- Posté le
21 février 2008 à 21:41:52

-
Bonsoir,
J'installe Ubuntu sur l'ordi de mon frere, et la seule exigence de mes parents est qu'ils puissent imposer une contrainte horaire (je m'occupe de la manipulation). Je cherche donc un moyen de donner des limite d'heures a un utilisateur... apres recherche, je ne trouve qu'un script sur le site www.ubuntu-fr.org, mais ca me semble un peu "bidouillage" comme solution, n'existe-t-il pas un fichier du genre /etc/times ou les horaires de chaque utilisateur/groupe seraient inscrits ?
Merci par avance a ceux qui ont deja experimente les limitations horaires et qui me repondront, bonne fin de soiree
- Lien permanent
-
Chris_27
- Posté le
21 février 2008 à 22:16:18

-
Si c'est l'ordi *de* ton frère, tu ne peux pas simplement faire un shutdown à l'heure X (commande at) et à la fin du boot si il tente de booter pendant la nuit (test avec "date =%R") ?
- Lien permanent
-
Chris_27
- Posté le
21 février 2008 à 22:54:36

-
Tiens, je viens de repenser à toi :
Tu as la commande who pour savoir si un utilisateur est logué à un moment donné. Ça te donne toutes les personnes loguées et comment elles sont loguées :
chris@tarsonis:/var/log$ who
chris tty2 2008-02-21 22:52
je suis logué sur tty2 (mode console)
root tty3 2008-02-21 22:53
root est logué sur tty3 (mode console)
chris tty7 2008-02-21 21:21 (:0)
chris est logué sur tty7 (le (:0) permet de savoir que c'est le mode graphique)
chris pts/0 2008-02-21 22:48 (:0.0)
chris pts/1 2008-02-21 21:23 (:0.0)
chris pts/2 2008-02-21 22:12 (:0.0)
j'ai 3 xterms ouverts
- Lien permanent
-
Blacksword
- Posté le
21 février 2008 à 23:00:54

-
Merci d'avoir repondu
En fait, je suis totalement incapable de creer un script pour faire quoi que ce soit, je sais utiliser des commandes, c'est tout... je crois qu'on peut programmer une heure ou un temps avant l'extinction, mais je n'en sais pas plus... Ce que je cherche, c'est un programme, (ou un script deja existant) ou bien un fichier me permettant de modifier tout ca... voila, tu as une vision plus claire de mon niveau, et j'espere qu'une solution existe, car je suis totalement incapable de creer un script pour automatiser tout ca.
- Lien permanent
-
Chris_27
- Posté le
21 février 2008 à 23:24:33

-
Si tu sais utiliser des commandes, tu sais comment créer un script : il suffit de mettre ta liste de commandes dans un fichier.
Suivant ce que tu cherches à faire précisément, ça doit pas être bien sorcier de trouver une commande ad hoc.
Cela dit, si quelqu'un connaît un soft tout fait qui te convient, je suis aussi preneur.
- Lien permanent
-
DarKwings
- Posté le
22 février 2008 à 00:26:17

-
sudo apt-get install cron
sudo echo "*/5 22-8 * * * /sbin/init 0" >> /etc/crontab
la première installe cron, un démon de planification de taches, la deuxième paramètre cron pour que il éteigne le pc toutes les 5 minutes entre 22 heures et 8 heures
- Lien permanent
-
DarKwings
- Posté le
22 février 2008 à 00:30:28

-
mais on peut remplacer "/sbin/init 0" par l'adresse d'un script testant avec who si un user est connecté, et qui ferme sa session
- Lien permanent
-
Chris_27
- Posté le
22 février 2008 à 10:11:34

-
Ouais, c'est pas con ça. J'ai tellement l'habitude d'utiliser at pour m'envoyer des notify à des moments précis que j'en oublie qu'il y a cron pour les tâches régulières.
- Lien permanent
-
Sankukai
- Posté le
22 février 2008 à 13:31:05

-
Il y a une solution plus propre que ça : passer par PAM.
En utilisant le module pam_time de PAM tu peux restreindre de façon simple et souple l'accès à certains services.
Supposons que le login de ton frère soit brother.
En ajoutant ceci dans le fichier /etc/security/time.conf :
login ; * ; !brother ; MoTuWeThFr2200-0800
http ; * ; !brother ; MoTuWeThFr2200-0800
Il faut impérativement qu'il y ait un retour à la ligne à chaque fois et une ligne vide à la fin du fichier.
Tu interdis à l'utilisateur brother de se loguer et d'aller sur le net en semaine entre 22h et 8h.
Simple et propre !
- Lien permanent
-
Chris_27
- Posté le
22 février 2008 à 13:56:15

-
Ça ne l'empêche pas de jouer à supertux par contre.
- Lien permanent
-
Sankukai
- Posté le
22 février 2008 à 14:04:56

-
Ben si il peut pas se logguer, il aura du mal à jouer.
- Lien permanent
-
K-L-K
- Posté le
22 février 2008 à 14:11:10

-
c'est cool votre truc là.
j'adore linux
PAM est dans les dépots? urpmi pam? (suis sous mandriva moi)
- Lien permanent
-
Chris_27
- Posté le
22 février 2008 à 14:18:48

-
Sankukai : Tu m'arrêtes si je dis une bêtise (moi et PAM ça fait deux
) mais je comprends "login" comme appel à la commande login. Donc ça se passe au moment où on entre le mdp dans {x,k,g}dm. Donc s'il se logue à 21h59...
K-L-K : LinuxPAM fait parti des trucs fournis d'office dans toutes les vraies distributions (comme cron d'ailleurs).
- Lien permanent
-
Sankukai
- Posté le
22 février 2008 à 14:29:01

-
Chris_27> Non t'as raison, j'avais pas pensé à ça.
Il faut effectivement utiliser un peu Cron pour forcer un logout à 22h00.
Un mix entre Cron et pam est, je pense, le plus subtil (faut avouer que foutre un reboot toutes les 5mn en Cron c'est un peu goret
)
- Lien permanent
-
K-L-K
- Posté le
22 février 2008 à 14:33:25

-
si je comprend bien le mieu est d'utiliser cron pour une fermeture de l'ordinateur automatic a une heure précise puis de dire a Pam qu'a l'heure où cron prend effet d'enpécher les user de se logguer?
comment mettre 0H30 sur cron?
- Lien permanent
-
Chris_27
- Posté le
22 février 2008 à 14:37:47

-
K-L-K : man crontab (je ne sais pas répondre à la question sans le man, de toute façon)
Blacksword : tu pourras t'en sortir avec ça ?
- Lien permanent
-
K-L-K
- Posté le
22 février 2008 à 14:44:02

-
On Red Hat systems, crond now supports access control with PAM - see pam(8). A PAM configuration file for crond is installed in /etc/pam.d/crond . crond loads the PAM environment from the pam_env module, but these can be overriden by settings in the crontab file.
cela veu dire qu'il faut toucher le fichier /etc/pam.d/crond pour les Red Hat? (c'est une version linux Red Hat?)
- Lien permanent
-
Chris_27
- Posté le
22 février 2008 à 14:58:53

-
Red Hat c'est les gens qui font fedora.
Mais à mon avis, tu n'as pas besoin de te casser les dents sur l'interaction subtile qu'il existe entre PAM et cron.
En vrai, PAM permet de contrôler tout un tas de trucs via des fichiers dans /etc/pam.d/ . En l'occurence, /etc/pam.d/crond doit contenir des règles dictant qui a le droit d'utiliser cron/crond sur ta machine, et qui ne l'a pas. Ce n'est donc pas directement lié à ce qu'on cherche à faire ici.
- Lien permanent
-
DarKwings
- Posté le
22 février 2008 à 15:48:50

-
C'est pas un reboot, pour un reboot ça serait init 6
Moi ce que je fait c'est un shutdown.
Et l'éteindre c'est mieux que faire un logout car c'est plus rapide de se reconnecter que de booter....
Pour minuit 30 ça se fera en 2 lignes:
sudo echo "30-59/3 0 * * * /sbin/init 0" >> /etc/crontab
sudo echo "*/3 1-8 * * * /sbin/init 0" >> /etc/crontab
la première pour la tranche de minuit 30 a minuit 59, et l'autre de 1 heure a 8 heures
Puis la j'ai fait toutes les 3 minutes, c'est mieux
C'est vrai qu'il pourra se loguer, mais un boot toutes les 3 minutes c'est ennuyant a force
- Lien permanent
-
Chris_27
- Posté le
22 février 2008 à 16:03:15

-
Moi j'aime bien l'intervention de pam pour empêcher à l'utilisateur de se loguer. Ce qui me dérange avec le shutdown/reboot, c'est que ça peut empêcher de faire certaines choses comme du gros calcul (... bon, ok, comme du p2p...
)
- Lien permanent
Sujet : « Limitation horaires »