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 22/12/2023 20:00:11

Shonenboi
Membre

Connexion à une base de donnée sans mot de passe

Bonjour,
actuellement en train de prendre des cours, je suis en train d'essayer de rendre possible la connexion à ma base de donnée sans mdp pour ensuite pouvoir utiliser des commande de type "dropdb ocolis".
J'ai un super user "elcrest" (à qui appartient la bdd ocolis ci-dessus d'ailleurs) mais lorsque j'utilise la commande "dropdb" j'ai cette erreur:

dropdb: erreur : la connexion au serveur sur « localhost » (::1), port 5432 a échoué : FATAL:  authentification par mot de passe échouée pour l'utilisateur  « JudeM »

Alors effectivement, on me demande mon mot de passe alors je met celui de "elcrest", mais ensuite on m'en demande un autre et peu importe quel mdp je met ça me retourne cette erreur, je n'ai aucun utilisateur ayant le nom "JudeM " et j'en ai jamais créer non plus, alors je ne comprends pas pourquoi peu importe ce que j'essaie de faire, il me parle de ce soit disant utilisateur hmm
Je tiens d'ailleurs à préciser que "JudeM" est le nom de ma session windows.
Voici ce que contient mon fichier pg_hba.conf:

# TYPE  DATABASE        USER            ADDRESS                 METHOD
local   all             elcrest                                 trust
# "local" is for Unix domain socket connections only
local   all             all                                     scram-sha-256
# IPv4 local connections:
host    all             all             127.0.0.1/32            scram-sha-256
# IPv6 local connections:
host    all             all             ::1/128                 scram-sha-256
# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication     all                                     scram-sha-256
host    replication     all             127.0.0.1/32            scram-sha-256
host    replication     all             ::1/128                 scram-sha-256

Je fait tout ça dans l'optique d'utiliser sqitch et lorsque je fait un "sqitch deploy" je reçois cette erreur:

fe_sendauth: no password supplied

Mais je me dis que régler cette histoire avec postgres devrait arranger ça.
Merci de m'avoir lu et désolé si c'est un peu long. Merci d'avance pour votre aide !

Hors ligne

#2 22/12/2023 20:14:10

rjuju
Administrateur

Re : Connexion à une base de donnée sans mot de passe

Bonjour,

le JudeM vient effectivement de votre nom d'utilisateur système, qui est utilisé par défaut si vous ne précisez rien car il faut bien que postgres se connecte avec un nom d'utilisateur.  Vous pouvez utiliser -U eclrest dans votre cas.


Concernant votre configuration, en supposant que la configuration ait été rechargée, la connexion sans mot de passe n'est possible que pour l'utilisateur eclrest (donc le -U est nécessaire), mais également uniquement en connextion "local", c'est-à-dire socket unix (qui sont supportées par windows depuis quelques temps).  Il faut donc pointer vers cette socket.  En supposant que la socket se trouve sur c:\la_socket il faudrait spécifier "dropdb -U eclrest -h c:\la_socket ocolis".


Si votre version de postgres et/ou de windows ne supporte pas les socket unix, vous pouvez configurer une ligne en trust pour une socket ip.


Je précise toutefois que même s'il s'agit d'une machine locale c'est en général une mauvaise idée de faire ça, vous pouvez toujours utiliser le fichier pgpass.conf pour stocker le mot de passe et ne pas avoir à le fournir explicitement à chaque fois (https://www.postgresql.org/docs/current … gpass.html), ou mettre en place une authentication via certificat (ou peer si vous avez bien une socket unix).

Hors ligne

#3 23/12/2023 05:13:29

Shonenboi
Membre

Re : Connexion à une base de donnée sans mot de passe

Merci pour la réponse ! Tout fonctionne, je voulais retirer la sécurité même juste provisoirement dans le cadre de ma formation, j'imagine bien que ce n'est pas forcément la meilleure chose à faire pour travailler.
Merci encore !

Hors ligne

Pied de page des forums