IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

GNU/Linux Sys/Network - ouvrir des sessions différentes


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Lycéen
    Inscrit en
    Mars 2014
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mars 2014
    Messages : 76
    Par défaut GNU/Linux Sys/Network - ouvrir des sessions différentes
    Bonjour,

    je suis entrain de développer un programme en C système et réseau (sur GNU/Linux). Celui-ci est un style de teamviewer, ou encore ssh -X. Actuellement j'arrive à demander à l'utilisateur de se connecter grâce à la technologie PAM, et j'arrive à stream le l'écran (grâce xlib). Mon serveur est multiclient.

    Mon problème est là, tous les utilisateurs partagent le même écran, la même session. Donc ce que l'utilisateur A fait, l'utilisateur B le voit. Je souhaiterai donc trouver une solution pour faire un système de session / écran différent. Mais je ne vois pas trop comment faire..

    Si vous avez des idées, des conseils, exemples, je suis preneur;

    En vous remerciant,
    Cordialement,
    Reverse_

    PS : Je ne sais pas si c'est comme ça qu'il faut faire, mais pour l'authentification voici ce que je fais :

    Le serveur est lancé avec l'utilisateur root de la machine host.
    Lorsqu'un client se connecte, je fork
    Dans le fils je récupère le nom de l'utilisateur et son mot de passe, pour les soumettre à PAM.
    Si l'authentification réussie, je change l'uid du processus avec l'uid de l'utilisateur. (setuid).

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 17
    Par défaut
    Il te faudrait un serveur X de lancé pour chaque utilisateur
    Comment gères-tu la transmission du mot de passe ? Il serait dommage de mettre un système d'authentification si le mot de passe transite en clair sur le réseau. (+1 pour avoir pensé à PAM, trop de peu de dev y pensent )

  3. #3
    Membre confirmé
    Homme Profil pro
    Lycéen
    Inscrit en
    Mars 2014
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mars 2014
    Messages : 76
    Par défaut
    Je ne connais pas trop encore la X11, mais j'ai réussi à trouver sur internet comment créer un faux display avec ces lignes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    export DISPLAY=:1
    Xvfb :1 -screen 0 1024x768x1
    Après ce que je fais c'est que je connecte un utilisateur à un display différent, je ne sais pas trop ce que ça vaut en terme de confidentialité.

    Pour ce qui est de dans la transmission des données effectivement je ne l'ai pas précisé, mais je ne fais pas passer en claire mes données j'utilise SSL :p

    merci pour ta réponse

Discussions similaires

  1. Réponses: 4
    Dernier message: 12/12/2008, 07h28
  2. Réponses: 2
    Dernier message: 30/10/2008, 18h30
  3. Réponses: 9
    Dernier message: 01/08/2007, 12h20
  4. Réponses: 4
    Dernier message: 19/04/2007, 15h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo