Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Linux.general : Fais tes devoirs avant !

Posté par martoni (page perso, ) le 09 août 2006
L'attrait de l'ordinateur est tellement grand, qu'on en oubli souvent de faire ses devoirs et on y reste planté des heures. Résultat, encore plein de bulles.



Mais si c'était l'ordinateur qui prenait l'initiative de vous faire faire vos devoirs avant que vous puissiez jouer ?



Sur mon vieux 386 j'avais fabriqué un programme qui obligeait toutes personnes voulant utiliser l'ordinateur à répondre à une série de questions sur les tables de multiplications et les verbes irréguliers d'anglais. Tant que les réponses était fausses, impossible d'utiliser l'ordinateur.



Ce programme était d'une extrême simplicité et était chargé par l' autoexec.bat .



J'aimerai pouvoir faire la même chose sous ubuntu, mais en plus poser des question en fonction du login de la personne.



La programmation de se genre d'interface ne me semble pas trop compliqué. Mon problème est de trouver une manière de faire un programme bloquant une fois le login et mdp entré pour forcer a répondre aux questions.



Mon système :

Ubuntu 6.06 avec gnome (normal ;-)

> Lire le message (14 commentaires, moyenne: 1,6).  

Vous avez demandé le commentaire #742400.

ton propre programme dans xsession ?

Posté par symoon (page perso, ) le 09/08/2006 à 16:49. (lien). Évalué à 6.

Tu peux essayer de lancer ton programme pour remplacer par exemple gnome-session. Si le test réussit, alors gnome-session est lancé.

  • [^]Re: ton propre programme dans xsession ?

    Posté par martoni (page perso, ) le 10/08/2006 à 07:23. (lien). Évalué à 1.

    cela me semble etre la maniere la plus simple.

    merci

    --
    Un jour les manchots seront les maîtres d'un monde sans pétrole gnark gnark gnark !!
    • [^]/etc/passwd

      Posté par deadbeef () le 11/08/2006 à 01:07. (lien). Évalué à 1.

      Sinon un autre moyen serait de remplacer le shell par défault (défini dans /etc/passwd) par ton programme, qui n'autorisera la session (en lançant un shell ou X) que si toutes les questions sont correctement répondues.

      - Si c'est ok -> exec("/bin/bash")
      - Sinon -> exit(0), et on revient au prompt login/passwd.

      • [^]Re: /etc/passwd

        Posté par deadbeef () le 11/08/2006 à 01:10. (lien). Évalué à 1.

        Je rajouterai que c'est le seul moyen pour vraiment limiter l'accès, parce que le gnome-session, il se court-circuite en allant sur une console (ctrl-alt-F1).

        • [^]Re: /etc/passwd

          Posté par symoon (page perso, ) le 11/08/2006 à 07:51. (lien). Évalué à 2.

          ne pas oublier les gens à qui ce système serait destiné : des enfants :-)

          Je pense pas qu'il s'amuse à faire ctrl-alt-f1 pour ensuite faire un ssh+screen pour aller discuter sur irc :-)

          • [^]Re: /etc/passwd

            Posté par deadbeef () le 11/08/2006 à 08:36. (lien). Évalué à 1.

            Mon fils de 3 ans 1/2 sait qu'il faut faire ALT-F4 pour quitter ses jeux, alors j'imagine qu'il n'aura aucune difficulté à faire ctrl-alt-f1 quand il aura l'âge d'apprendre les verbes irréguliers en anglais :-)

            "Nature always finds a way" ......

        [^]Re: /etc/passwd

        Posté par martoni (page perso, ) le 11/08/2006 à 13:15. (lien). Évalué à 1.

        c'est cette ligne la ?

        martoni:x:1000:1000:martoni,,,:/home/martoni:/bin/bash


        Mais est-ce que le programme peut-etre graphique ? (en X)

        --
        Un jour les manchots seront les maîtres d'un monde sans pétrole gnark gnark gnark !!
        • [^]Re: /etc/passwd

          Posté par deadbeef () le 11/08/2006 à 14:09. (lien). Évalué à 1.

          oui, c'est là, tu peux remplacer le /bin/bash par n'importe quoi. La session se ferme quand le programme en question s'arrête.
          Quand à mettre un programme graphique, je ne sais pas trop... C'est surtout utilisé quand on se logge en mode console, mais rien ne t'interdit de lancer un X ou ce que tu veux à partir du programme de login.

          • [^]Re: /etc/passwd

            Posté par deadbeef () le 11/08/2006 à 14:40. (lien). Évalué à 1.

            Je viens de faire le test, mais sans X parce que je n'ai qu'un serveur sans écran...

            J'ai fait un petit script shell appelé /usr/local/bin/montest.sh
            avec un "chmod a+rx /usr/local/bin/montest.sh"

            Le script contient:


            #!/bin/bash
            echo "Quelle est la couleur du cheval blanc d'Henri IV ?"
            read reponse
            reponse=`echo $reponse|tr "a-z" "A-Z"`
            if [[ "$reponse" == "BLANC" ]]
            then
            echo BRAVO !!
            /bin/bash
            else
            echo "MAUVAISE REPONSE"
            exit
            fi


            et j'ai modifié mon /etc/passwd comme ceci:

            test:x:1006:1006:test,,,:/home/test:/usr/local/bin/montest.sh

            (hint: avec bash 3.0, tu peux aussi faire comparaisons avec des expressions régulières, ça peut être utile pour un quizz)