Re: Privilege on schema 'public' not revokable - Mailing list pgsql-general

From Tom Lane
Subject Re: Privilege on schema 'public' not revokable
Date
Msg-id 5055.1330542859@sss.pgh.pa.us
Whole thread Raw
In response to Re: Privilege on schema 'public' not revokable  ("David Johnston" <polobo@yahoo.com>)
Responses Re: Privilege on schema 'public' not revokable  (Vincent de Phily <vincent.dephily@mobile-devices.fr>)
List pgsql-general
"David Johnston" <polobo@yahoo.com> writes:
> [mailto:pgsql-general-owner@postgresql.org] On Behalf Of Vincent de Phily
>> [ this doesn't do anything: ]
>> db_foo=# REVOKE CREATE ON SCHEMA public FROM foouser;

> "foouser" is obtaining its permission to "CREATE" on the "public " schema
> via global/PUBLIC permissions (i.e., via inheritance).  Revoking only
> removes an explicitly granted permission but does not institute a block for
> an inherited permission.  You would need to revoke the global permission to
> CREATE on "public" and then only GRANT it back to those users/roles that you
> wish to have it - all others will then effectively lose that ability.

Correct.  Note where it says in the GRANT manual page that a user's
effective rights are the sum of those granted to PUBLIC, those granted
directly to him, and those granted to roles he is a member of.  Rights
granted to PUBLIC are available to everybody, full stop, and can't be
selectively blocked.

            regards, tom lane

pgsql-general by date:

Previous
From: Raymond O'Donnell
Date:
Subject: Re: Calling Functions With OUT paramaters
Next
From: Ben Chobot
Date:
Subject: Re: Re: One transaction by connection - commit subdetails without release master transaction?