Обсуждение: Application trying to use wrong user when logging into the database

Поиск
Список
Период
Сортировка

Application trying to use wrong user when logging into the database

От
Simon Connah
Дата:
Hi,

I'm writing a web app using Node.js and pg-promise along with PostgreSQL. I've been following the documentation to
connectto the database found here: 

https://github.com/vitaly-t/pg-promise/wiki/Connection-Syntax#configuration-object

and have all the right data supplied. But instead of using my applications role which I created in PostgreSQL it is
tryingto use my Linux user name "simon" and is failing authentication because of it. I'm just confused at the moment.
Atno point in time have I created a role called "simon" and I have never tried to connect to any of my databases using
therole name "simon", so why is it trying to authenticate as "simon"? 

Sorry if this is a silly question but it has me completely stumped.

Simon.
Вложения

Re: Application trying to use wrong user when logging into the database

От
Bzzzz
Дата:
On Sun, 28 Mar 2021 13:44:59 +0000
Simon Connah <simon.n.connah@protonmail.com> wrote:

Hi,

>  But instead of using my
> applications role which I created in PostgreSQL it is trying to use my
> Linux user name "simon" and is failing authentication because of it.
> I'm just confused at the moment. At no point in time have I created a
> role called "simon" and I have never tried to connect to any of my
> databases using the role name "simon", so why is it trying to
> authenticate as "simon"?

Read this and check you're not in this case :

https://www.dbrnd.com/2016/12/postgresql-pg_ident-conf-to-map-operating-system-username-and-database-username-external-authentication-password/

Jean-Yves



Re: Application trying to use wrong user when logging into the database

От
Simon Connah
Дата:

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐

On Sunday, March 28th, 2021 at 15:00, Bzzzz <lazyvirus@gmx.com> wrote:

> On Sun, 28 Mar 2021 13:44:59 +0000
>

> Simon Connah simon.n.connah@protonmail.com wrote:
>

> Hi,
>

> > But instead of using my
> >

> > applications role which I created in PostgreSQL it is trying to use my
> >

> > Linux user name "simon" and is failing authentication because of it.
> >

> > I'm just confused at the moment. At no point in time have I created a
> >

> > role called "simon" and I have never tried to connect to any of my
> >

> > databases using the role name "simon", so why is it trying to
> >

> > authenticate as "simon"?
>

> Read this and check you're not in this case :
>

>
https://www.dbrnd.com/2016/12/postgresql-pg_ident-conf-to-map-operating-system-username-and-database-username-external-authentication-password/
>

> Jean-Yves

Thank you for your reply. My pg_ident.conf file is completely empty (well all commented out at least). Do you really
needto map a Linux system user to a PostgreSQL role to get this to work? Seems like a bit of a hack to me. I'm probably
missingsomething simple again. I don't need external access to the database at the moment, although it is helpful
knowledgeto have for the future. 

This is all on my local machine so I've set pg_hba.conf to md5 for 127.0.0.1/32 which I assumed would just make it
work.

Simon.
Вложения

Re: Application trying to use wrong user when logging into the database

От
Bzzzz
Дата:
On Sun, 28 Mar 2021 14:21:29 +0000
Simon Connah <simon.n.connah@protonmail.com> wrote:


Rahhhh, it was sent directly to you instead of the ML :(((
re-sending it.

>
>
> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
>
> On Sunday, March 28th, 2021 at 15:00, Bzzzz <lazyvirus@gmx.com> wrote:
>
> > On Sun, 28 Mar 2021 13:44:59 +0000
> >
>
> > Simon Connah simon.n.connah@protonmail.com wrote:
> >
>
> > Hi,
> >
>
> > > But instead of using my
> > >
>
> > > applications role which I created in PostgreSQL it is trying to
> > > use my
> > >
>
> > > Linux user name "simon" and is failing authentication because of
> > > it.
> > >
>
> > > I'm just confused at the moment. At no point in time have I
> > > created a
> > >
>
> > > role called "simon" and I have never tried to connect to any of my
> > >
>
> > > databases using the role name "simon", so why is it trying to
> > >
>
> > > authenticate as "simon"?
> >
>
> > Read this and check you're not in this case :
> >
>
> >
https://www.dbrnd.com/2016/12/postgresql-pg_ident-conf-to-map-operating-system-username-and-database-username-external-authentication-password/
> >
>
> > Jean-Yves
>
> Thank you for your reply. My pg_ident.conf file is completely empty
> (well all commented out at least). Do you really need to map a Linux
> system user to a PostgreSQL role to get this to work? Seems like a bit
> of a hack to me. I'm probably missing something simple again. I don't
> need external access to the database at the moment, although it is
> helpful knowledge to have for the future.
>
> This is all on my local machine so I've set pg_hba.conf to md5 for
> 127.0.0.1/32 which I assumed would just make it work.
>
> Simon.

Normal

> Do you really need to map a Linux
> system user to a PostgreSQL role to get this to work?

Not at all, as they have nothing in common, except if you use a system
user of course - this looks like just a facility.

> Seems like a bit
> of a hack to me. I'm probably missing something simple again. I don't
> need external access to the database at the moment, although it is
> helpful knowledge to have for the future.

As your file's empty, this can only come from your app (hehehe), so try
to launch it under another user to see if it takes the username of
the launcher by default, which seems to be the case (you launched it
under the Linux username 'simon', didn't you !?)

Check the docs to find what is the behavior of the js Pg driver.

Double check your configuration file has the right username _and_ that it
is effectively read by your app (trace each steps w/ prints or logs).

If nothing works, re-write your app in Cobol ;-p)

Jean-Yves



Re: Application trying to use wrong user when logging into the database

От
hubert depesz lubaczewski
Дата:
On Sun, Mar 28, 2021 at 01:44:59PM +0000, Simon Connah wrote:
> https://github.com/vitaly-t/pg-promise/wiki/Connection-Syntax#configuration-object
>
> and have all the right data supplied. But instead of using my
> applications role which I created in PostgreSQL it is trying to use my
> Linux user name "simon" and is failing authentication because of it.
> I'm just confused at the moment. At no point in time have I created
> a role called "simon" and I have never tried to connect to any of my
> databases using the role name "simon", so why is it trying to
> authenticate as "simon"?

Pg will try to connect as db user simon if you don't provide username to
log in as.

For example, if I'm logged in shell as depesz, and will try: psql -d xx,
it will try to login to db xx as user depesz.

To login as user "magic", I have to provide it expliticly: psql -U magic
-d xx.

Please show us your connection code from your app.

Best regards,

depesz




Re: Application trying to use wrong user when logging into the database

От
Simon Connah
Дата:

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐

On Monday, March 29th, 2021 at 10:47, hubert depesz lubaczewski <depesz@depesz.com> wrote:

> On Sun, Mar 28, 2021 at 01:44:59PM +0000, Simon Connah wrote:
>

> > https://github.com/vitaly-t/pg-promise/wiki/Connection-Syntax#configuration-object
> >

> > and have all the right data supplied. But instead of using my
> >

> > applications role which I created in PostgreSQL it is trying to use my
> >

> > Linux user name "simon" and is failing authentication because of it.
> >

> > I'm just confused at the moment. At no point in time have I created
> >

> > a role called "simon" and I have never tried to connect to any of my
> >

> > databases using the role name "simon", so why is it trying to
> >

> > authenticate as "simon"?
>

> Pg will try to connect as db user simon if you don't provide username to
>

> log in as.
>

> For example, if I'm logged in shell as depesz, and will try: psql -d xx,
>

> it will try to login to db xx as user depesz.
>

> To login as user "magic", I have to provide it expliticly: psql -U magic
>

> -d xx.
>

> Please show us your connection code from your app.
>

> Best regards,
>

> depesz

Thank you for your reply. I fixed it. It was a silly mistake on my end where I was not importing the environment
variablesfor database connection information correctly. 

Simon.
Вложения