Thread: question/problem concerning GRANT/REVOKE

question/problem concerning GRANT/REVOKE

From
Gerhard Wohlgenannt
Date:
hi!

I have a pretty basic problem: We have several schemas in one of our
databases, and we need the users to see only the tables (and table
structure) of tables inside their own schema.  So I created schemas for
those users, and set their "search_path".

But with \d public.<tab key> users can see all tables (and their
structure) in the public (and other) schemas -- and I found no way yet
to prevent this??

I have tried "REVOKE ALL" from the database itself, and the other
schemas, and single tables -- for the specific user, and also for the
user "PUBLIC" -- but it had no effect!
How can I prevent exposing the structure of all tables in the database
to user that should work in their SCHEMA?

Help would be appreciated very much!! :-)

cheers,
gerhard

Re: question/problem concerning GRANT/REVOKE

From
"Scott Marlowe"
Date:
On Tue, Apr 29, 2008 at 2:46 AM, Gerhard Wohlgenannt
<wohlg@ai.wu-wien.ac.at> wrote:
> hi!
>
>  I have a pretty basic problem: We have several schemas in one of our
> databases, and we need the users to see only the tables (and table
> structure) of tables inside their own schema.  So I created schemas for
> those users, and set their "search_path".
>
>  But with \d public.<tab key> users can see all tables (and their structure)
> in the public (and other) schemas -- and I found no way yet to prevent
> this??
>  I have tried "REVOKE ALL" from the database itself, and the other schemas,
> and single tables -- for the specific user, and also for the user "PUBLIC"
> -- but it had no effect!
>  How can I prevent exposing the structure of all tables in the database to
> user that should work in their SCHEMA?
>
>  Help would be appreciated very much!! :-)

This is a semi frequently asked question.  There's no mechanism built
into pgsql that allows you to hide other schemas and objects this way.

Note that if you have the proper security setup, all they can do is
see that the other tables are there.