Forum Linux.général Identd : comment ça marche?

Posté par  .
Étiquettes : aucune
0
11
déc.
2009
Bonjour à tous,

Je dois mettre en place un service de réservation de ressources (OAR mais ça pourrait être autre chose) qui utilise Ident pour l'identification d'utilisateurs qui utilisent une API via le protocole HTTP.

Mon serveur marche bien pour les actions en lecture seule mais dès qu'il faut être identifié je me fais jeter car je ne suis pas identifié.

J'ai un peu de mal a voir comment fonctionne Ident. Je pense que 'Ident est sur le client et que le serveur l'interroge pour connaitre l'identité de l'utilisateur qui à effectué la requête?

Dans mon cas le client et le serveur son sur la même machine, le serveur Ident est bien lancé, j'arrive même à lui demander des choses via telnet mais je n'ai jamais réussis à obtenir une réponse autre que : 51875 , 80 : ERROR : NO-USER
par exemple.

Voilà, si quelqu'un pouvait m'aider, au moins à m'assurer que le serveur Ident fonctionne bien, ça serais super.

Merci.
  • # Faire attention aux adresses

    Posté par  . Évalué à 1.

    Salut,

    Je ne suis pas un spécialiste de identd, mais voici tout de même quelque piste à utiliser :
    - quelle version du démon identd utilises-tu ? Est-tu sûr que celui-ci n'est pas configuré pour renvoyer systématiquement "NO-USER" pour des raisons de sécurité ?
    - lorsque tu as fait tes tests, la session TCP entre le port 80 du serveur et le port 51875 du client (apparemment la même machine) était-elle bien établie ? (la connexion HTTP a pu se fermer entre le moment où tu récupères le port local et le moment où tu interroges le d"mon identd)
    - pour que la demande aboutisse, je pense que le client ident (serveur HTTP) doit se connecter depuis l'adresse IP sur laquelle est établie la connexion. Est-ce que tu n'aurais pas utilisé l'adresse de l'interface ethernet dans un cas (eth0) et localhost dans un autre ?

    Pour tester tu peux essayer de faire un telnet sur un port ouvert (80 par exemple) vers localhost (telnet localhost 80) et, dans un autre terminal tu récupères le port local utilisé pour faire ta demande à inetd ("telnet localhost 113", puis tu indiques "<port local>,80).

    Tu peux refaire les mêmes tests en remplaçant localhost par l'adresse IP de l'interface ethernet.

    JJD
  • # 113 ?

    Posté par  . Évalué à 1.

    normalement, les serveurs ident fonctionnent par défaut sur le port 113.
    le serveur ident doit être installé sur la machine de l'utilisateur et récupérer son nom :
    - statiquement, depuis un fichier texte alimenté par script d'ouverture de session.
    - dynamiquement, depuis la session en cours.

    Pour des machines sous windows, deux projets ident disponibles :

    - http://identdwin.sourceforge.net/ contient un serveur ident qui fonctionne sous l'utilisateur interactif (grâce au composant com).
    - http://www.ake.nu/software/eyedentd/ contient un client identc, pour tester et dépanner les serveurs idents (mais bon, un telnet sur le port 113 marche très bien aussi).

    Si tu as un message d'erreur NO-USER, ça veut dire que le serveur ident ne sait pas qui est connecté. Comment devrait-il récupérer cette information ? Quel serveur ident ? sous windows ou linux ?
  • # Merci

    Posté par  . Évalué à 1.

    Merci pour vos deux réponses, elles m'ont permise de comprendre un peu mieux le fonctionnement de Identd et j'ai réussis à mettre en place un serveur gidentd qui fonctionne.

    J'ai maintenant une nouvelle problématique que je m'en vais exposer dans un autre message :)

Suivre le flux des commentaires

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