pg.ddx.io pgsql-admin@postgresql.org mailing list archivehelp / color / mirror / Atom feed
AW: Connect to db denied for superuser inherited by group 2+ messages / 2 participants [nested] [flat]
* AW: Connect to db denied for superuser inherited by group @ 2018-03-20 08:29 Michael.Dietrich@swisscom.com 0 siblings, 1 reply; 2+ messages in thread From: Michael.Dietrich@swisscom.com @ 2018-03-20 08:29 UTC (permalink / raw) To: sfrost@snowman.net; +Cc: pgsql-admin@lists.postgresql.org What I've done CREATE ROLE superrole WITH NOLOGIN SUPERUSER ..; CREATE USER nosuperuser WITH LOGIN NOSUPERUSER INHERIT ..; GRANT superrole TO nosuperuser WITH ADMIN OPTION; REVOKE CONNECT ON DATABASE nonpublicdb FROM public ; psql -d postgres -U nosupuser postgres=# set role superrole; postgres=# \c nonpublicdb FATAL: permission denied for database " nonpublicdb " DETAIL: User does not have CONNECT privilege. I expect that the connection to the database is allowed since a role with superuser is used. (I don't' expect any difference between using a role (including superuser) or a user (including superuser).) Postgres Version: PostgreSQL 9.5.2 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4), 64-bit Regards --Michael -----Ursprüngliche Nachricht----- Von: Stephen Frost [mailto:sfrost@snowman.net] Gesendet: Freitag, 16. März 2018 14:43 An: Dietrich Michael, INI-ONE-CIS-GSV-MFS <Michael.Dietrich@swisscom.com> Cc: pgsql-admin@lists.postgresql.org Betreff: Re: Connect to db denied for superuser inherited by group Greetings, * Michael.Dietrich@swisscom.com (Michael.Dietrich@swisscom.com) wrote: > Unexpected behavior when trying to connect to a database. Facts: > 1) The privilege to connect to the database was revoked from public. > 2) User without superuser privileges uses a role with superuser rights > (usage confirmed with SHOW current_role.) Please provide more details about what this step #2 actually means. > 3) Unecpected Message: FATAL: permission denied for database "db" DETAIL: User does not have CONNECT privilege. Details about exactly what you're doing to connect here would be helpful. > After granting one of the listed privileges it is working as expected. > 1) granting superuser to user > 2) granting connect to db for user > 3) granting connect to db to group > 3) granting connect to db to public > > What am I missing? --Michael CONNECT privileges are needed to be able to connect to the database, so it's not surprising that you needed to GRANT them to the user after REVOKE'ing them from PUBLIC. What's not clear is what you're actually trying to do and what you're expecting to work that apparently isn't. Thanks! Stephen ^ permalink raw reply [nested|flat] 2+ messages in thread
* Re: AW: Connect to db denied for superuser inherited by group @ 2018-03-20 14:11 Tom Lane <tgl@sss.pgh.pa.us> parent: Michael.Dietrich@swisscom.com 0 siblings, 0 replies; 2+ messages in thread From: Tom Lane @ 2018-03-20 14:11 UTC (permalink / raw) To: Michael.Dietrich@swisscom.com; +Cc: sfrost@snowman.net; pgsql-admin@lists.postgresql.org <Michael.Dietrich@swisscom.com> writes: > What I've done > CREATE ROLE superrole WITH NOLOGIN SUPERUSER ..; > CREATE USER nosuperuser WITH LOGIN NOSUPERUSER INHERIT ..; > GRANT superrole TO nosuperuser WITH ADMIN OPTION; > REVOKE CONNECT ON DATABASE nonpublicdb FROM public ; > psql -d postgres -U nosupuser > postgres=# set role superrole; > postgres=# \c nonpublicdb > FATAL: permission denied for database " nonpublicdb " > DETAIL: User does not have CONNECT privilege. > I expect that the connection to the database is allowed since a role > with superuser is used. You're misunderstanding what psql's \c command does. In this form, it attempts a connection with the new database name, but the same username as the previous connection, ie nosupuser. It doesn't know anything about SET ROLE commands you may have issued to the server while connected. regards, tom lane ^ permalink raw reply [nested|flat] 2+ messages in thread
end of thread, other threads:[~2018-03-20 14:11 UTC | newest] Thread overview: 2+ messages (download: mbox mbox.gz follow: Atom feed) -- links below jump to the message on this page -- 2018-03-20 08:29 AW: Connect to db denied for superuser inherited by group Michael.Dietrich@swisscom.com 2018-03-20 14:11 ` Tom Lane <tgl@sss.pgh.pa.us>
This inbox is served by DDX for PostgreSQL; see mirroring instructions for how to clone and mirror all data and code used for this inbox