PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 26/01/2009 13:53:15

fgaudin
Membre

Pb connexion psql en mode Ident

bonjour,

j utilise psql version 8.3.5 sur RedHat Fedora 9
Je suis en phase de creation des bases de données.
Je suis confronté à des problèmes de connexion inhabituels avec psql:

la configuration dans ph_hba.conf est "local  all all ident sameuser"
A partir de root, je peux descendre en "postgres" et ainsi créer des utilisateurs (X et Y) avec createuser.
Pour l instant j ai pris soin de leur donner les même mot-de-passe que les utilisateur linux X et Y.
Ceux-ci peuvent créer des BdD (qui portent leurs noms respectifs X et Y pour les besoins de l essai) en utilisant createdb.

Jusqu ici tout va bien

je tape psql X  (en etant l utilisateur unix X) : c est OK
je tape psql Y (en étant l utilisateur unix Y) : c est OK


maintenant le problème:

si, en etant l utilisateur unix "X" je tape
psql -W Y Y
j obtiens un message d erreur  "psql : FATAL : authentification Ident échouée pour l utilisateur Y"

et  idem vice-versa si (en étant l utilisateur unix Y) je tape psql -W X X

Si je change la ligne en question dans pg_hba.conf pour y mettre "password", cela règle le problème, sauf que...
on me demande alors un mot-de-passe pour utiliser psql en tant que "postgres". Un problème s en va...un autre arrive.

Je trouve que le reglage Ident ne fonctionne pas conformement à la documentation.
...et encore ... j ai pas encore attaqué les scripts PHP ...
...mais si psql n y arrive pas, pourquoi les scripts PHP y arriveraient ?

je vous remercie pas avance de me mettre sur la voie pour trouver une solution fiable et convenable.

Hors ligne

#2 26/01/2009 18:04:10

gleu
Administrateur

Re : Pb connexion psql en mode Ident

Je trouve que le reglage Ident ne fonctionne pas conformement à la documentation.

Par rapport à quelle documentation ?

Quant au mode password, cela te permet de t'identifier par rapport à un mot de passe indiqué au niveau PostgreSQL. Le mot de passe Unix n'a rien à voir là-dedans. Donc il te faut ajouter un mot de passe à l'utilisateur postgres.

Ou tu peux tout simplement accepter les connexions en mode ident pour l'utilisateur postgres seulement et accepter les connexions en mode password pour les autres.

Tout se configure dans pg_hba.conf. Pour les détails, lire le chapitre 21, http://docs.postgresql.fr/8.3/client-au … ation.html.


Guillaume.

Hors ligne

#3 26/01/2009 18:40:57

fgaudin
Membre

Re : Pb connexion psql en mode Ident

bonjour Guillaume,
merci de me répondre,

Il me semble que tu as répondu à un problème similaire il y a quelques semaine sur le forum.
Tu y indiques que en mode "ident sameuser" la BdD accédée doit avoir le même nom que l utilisateur qui se connecte.
Effectivement le problème que j ai rencontré ressemble fortement à cela.

La où je suis chagriné, c est que la doc (française, mais aussi anglaise) page 303 à 319 à AUCUN MOMENT ne précise cette subtilité.
Le mode ident fait seulement référence à une identité (ou à une table de correspondance) entre utilisateur-unix et utilisateur-postgresql.

D ailleurs je trouve que cette doc (dès sa version originale anglaise) manque de précision.
Dans la catégorie des "ident" y-a-t-il au final plusieurs formulations possibles ?  (ident ; ident sameuser ; ident map ? ;   autres ????) ce n est pas clair du tout à la lecture de la doc.
J aurais aimé que la doc pose clairement les choses, au lieu de saupoudrer l information en partie en page 313 , puis en partie en page 317.

Au final (avant ta réponse) j ai opté pour le mode "password" , mais en ajoutant une ligne ident propre à l utilisateur postgres.
Pour l instant cela semble fonctionner.
Et j ai également modifié la ligne host en les passant également en mode password, et j ai obtenu ma connexion par PHP.

Tout semble en ordre de marche.
Je souhaite néanmoins insister auprès de toi sur le manque de clarté de la documentation et sur le coté "saupoudrage" et "manque de précision" des informations qui y sont présentées.

finalement, le mode "ident" ne sert pas à grand chose ???

en te renouvelant mes remerciements,

Hors ligne

#4 27/01/2009 11:21:04

gleu
Administrateur

Re : Pb connexion psql en mode Ident

La où je suis chagriné, c est que la doc (française, mais aussi anglaise) page 303 à 319 à AUCUN MOMENT ne précise cette subtilité.

Je ne sais pas de quelle version tu parles, donc difficile de te répondre sur ce point. Sur le manuel de la 8.3.5, URL http://docs.postgresqlfr.org/8.3/client … ation.html, je vois : « Le terme sameuser indique que l'enregistrement coïncide si la base de données demandée a le même nom que l'utilisateur demandé. ».

Dans la catégorie des "ident" y-a-t-il au final plusieurs formulations possibles ?  (ident ; ident sameuser ; ident map ? ;   autres ????) ce n est pas clair du tout à la lecture de la doc.

sameuser concerne tous les modes d'authentification (ident, crypt, md5, ldap, etc.) Par contre, map est une option spécifique de l'authentification ident. Pour moi, ça m'a l'air clair, mais c'est peut-être parce que je suis plongé dedans depuis longtemps smile

finalement, le mode "ident" ne sert pas à grand chose ???

Je suis plutôt d'accord avec toi sur ce point. En tout cas, je ne l'ai jamais vu utilisé. Il est par défaut sur (pratiquement) toutes les distrib, et il est souvent immédiatement remplacé par md5. Attention à l'authentification password car dans ce cas le mot de passe est envoyé en clair sur le réseau. Le premier sniffer qui passe pourra récupérer les mots de passe. md5 est hautement préconisée.


Guillaume.

Hors ligne

#5 03/02/2009 14:58:30

fgaudin
Membre

Re : Pb connexion psql en mode Ident

gleu a écrit :

La où je suis chagriné, c est que la doc (française, mais aussi anglaise) page 303 à 319 à AUCUN MOMENT ne précise cette subtilité.

Je ne sais pas de quelle version tu parles, donc difficile de te répondre sur ce point. Sur le manuel de la 8.3.5, URL http://docs.postgresqlfr.org/8.3/client … ation.html, je vois : « Le terme sameuser indique que l'enregistrement coïncide si la base de données demandée a le même nom que l'utilisateur demandé. ».

Autant pour moi ; je te présente mes excuses. Je l'ai retrouvé au même endroit dans le PDF.
Je suis passé à travers ; je ne m'attendais pas à trouver cette information-là dans ce paragraphe.

merci.

Hors ligne

Pied de page des forums