Forum Linux.debian/ubuntu Pseudo-terminal fantôme

Posté par  (site web personnel) .
Étiquettes : aucune
0
3
fév.
2007
Suite à une coupure de connexion Internet sur mon poste de travail lorsque je travaillais sur mon serveur par l'intermédiaire d'une connexion SSH, il en a résulté une "connexion SSH fantôme". J'ai donc killé le processus correspondant à mon ancienne connexion SSH, mais surprise...

brusselsserver:~# uptime
00:40:58 up 50 days, 22:09, 2 users, load average: 0.00, 0.00, 0.00
brusselsserver:~# who -Hu
NOM LIGNE HEURE OSIF PID COMMENTAIRE
root pts/0 Feb 3 00:32 . 2850 (213.219.187.196.adsl.dyn.edpnet.net)
root pts/1 Feb 2 23:58 ? 28458 (213.219.187.196.adsl.dyn.edpnet.net)
brusselsserver:~# ls /dev/pts
0
brusselsserver:~# ps -fe | grep ssh
root 28475 1 0 Feb02 ? 00:00:00 /usr/sbin/sshd
root 2847 28475 0 00:32 ? 00:00:00 sshd: root@pts/0
root 2926 2850 0 00:47 pts/0 00:00:00 grep ssh


Who et uptime me disent toujours qu'il y a 2 utilisateurs, mais pourtant il n'y a qu'un seul pseudo-terminal dans /dev/pts...

Quelqu'un a-t-il une idée pour supprimer ce pseudo-terminal fantôme sans devoir rebooter le système ?
  • # pid

    Posté par  . Évalué à 2.

    je pense que si tu tues le processus correspondant au PID donné par who -Hu, cela devrait le faire partir :

    root pts/0 Feb 3 00:32 . 2850 (213.219.187.196.adsl.dyn.edpnet.net)
    root pts/1 Feb 2 23:58 ? 28458 (213.219.187.196.adsl.dyn.edpnet.net)

    choisi le bon :)

    Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it

    • [^] # Re: pid

      Posté par  (site web personnel) . Évalué à 1.

      C'est une des premières choses qui m'est venue à l'idée mais...

      brusselsserver:~# who -Hu
      NOM LIGNE HEURE OSIF PID COMMENTAIRE
      root pts/0 Feb 3 14:22 . 3528 (213.219.187.196.adsl.dyn.edpnet.net)
      root pts/1 Feb 2 23:58 ? 28458 (213.219.187.196.adsl.dyn.edpnet.net)
      brusselsserver:~# kill -9 28458
      -bash: kill: (28458) - Aucun processus de ce type


      Plutôt troublant non ?
      • [^] # Re: pid

        Posté par  . Évalué à 2.

        00:40:58 up 50 days


        hehe, et tu ne veux pas perdre ton uptime ;)

        c'est bizarre oui, et je ne m'y connais pas assez sur le sujet pour savoir quoi faire. A mon boulot quand des utilisateurs coupent leur connection (mais c'est en telnet), on a des sessions fantomes, mais il suffit de tuer pour processus pour libérer cette session. Et au bout de qques heures cela ne disparaît pas tout seul ?
        Ou en redémarrant ssh ?

        Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it

        • [^] # Re: pid

          Posté par  (site web personnel) . Évalué à 2.

          Tu as tout compris ! lol

          Je viens de jeter un oeil et visiblement le pseudo-terminal ne s'est pas fermé tout seul depuis... Ce qui est bizarre, c'est que j'étais connecté par SSH sur un autre serveur en même temps, et sur celui-ci la connexion s'est tuée toute seule... Peut-être parce que je n'étais pas en train de travailler dessus ?

          J'ai redémarré sshd mais ça ne change rien, de toute façon les connexions SSH sont gérées par des processus distincts du démon, et je ne vois tourner que le démon SSH et le processus de ma connexion courante...

          Snif :(
          • [^] # Re: pid

            Posté par  . Évalué à 2.

            pas de réponse ici, mais ils parlent de cela quand même :

            http://www.howtoforge.com/forums/showthread.php?t=1033

            Cela fait combien de temps que c'est arrivé ?

            Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it

            • [^] # Re: pid

              Posté par  (site web personnel) . Évalué à 1.

              J'ai posté mon message peu après la déconnexion, quelques heures tout au plus...

              2 choses dont on parle sur le lien et que je n'avais pas regardé...
              brusselsserver:~# ps -fe | grep 'pts/1'
              root 4037 3528 0 02:45 pts/0 00:00:00 grep pts/1
              brusselsserver:~# ps -fe | grep bash
              root 3528 3525 0 Feb03 pts/0 00:00:00 -bash
              root 4039 3528 0 02:45 pts/0 00:00:00 grep bash

              Mais cela ne fait que montrer qu'il n'y a aucun processus qui tourne pour ce pseudo-terminal, qui n'existe même pas lui-même d'ailleurs...
            • [^] # Re: pid

              Posté par  (site web personnel) . Évalué à 1.

              Si un argument est fourni qui ne soit pas une option, who l'utilise à la place de /etc/utmp comme nom de fichier contenant les enregistrements
              des connexions. /etc/wtmp est souvent utilisé comme argument lors de l'appel de who pour voir qui s'est connecté précédemment.


              Extrait de la page man de who... Mais il n'y a pas de fichier /etc/utmp sous Debian (j'ai checké sur plusieurs machines), et je n'ai pas trouvé d'équivalent... :(
              • [^] # Re: pid

                Posté par  . Évalué à 2.

                chez moi les utmp et wtmp sont respectivement dans /var/run et /var/log

                sinon un locate devrait te permettre de les dénicher

                g.
                • [^] # Re: pid

                  Posté par  (site web personnel) . Évalué à 1.

                  Bien vu !

                  Last parcourt le fichier /var/log/wtmp (ou le fichier indiqué par l'option -f) pour présenter une liste de toutes les connexions et déconnexions
                  des utilisateurs, depuis la création du fichier.

                  Extrait de la page man de last.

                  La page man de who n'a peut-être pas été adaptée ? J'ai vu qu'il existait un fichier d'en-tête utmp.h, utmp est apparemment un fichier binaire comprenant des enregistrements de structures C. Je suppose qu'une modification de ce fichier arrangera mon problème...

                  Sur un site parlant du "comportement de hackers", j'ai trouvé ces 3 références :
                  * ZAP (or ZAP2) : remplacement de la dernière donnée de connexion par des zéros
                  * Peu efficace car le CERT distribue des programmes vérifiant les données à zéro. CLOAK2 : modification des données
                  * CLEAR : effacement des données
                  Mais je n'ai pas cherché plus loin étant le seul utilisateur possédant un shell sur la machine, un bête echo -n > /var/run/utmp suivi d'une reconnexion de ma session courante semble avoir résolu mon problème. Merci gatosek pour la piste.
                • [^] # Re: pid

                  Posté par  (site web personnel) . Évalué à 1.

                  Pour info, la page man de who (concernant le path des fichiers utmp et wtmp) a été mise à jour dans Etch.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.