Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

Re: Recht "CREATE TABLE" entziehen


  • From: Thomas Guettler <hv(at)tbz-pariv(dot)de>
  • To: pgsql-de-allgemein(at)postgresql(dot)org
  • Subject: Re: Recht "CREATE TABLE" entziehen
  • Date: Fri, 05 Jun 2009 10:57:08 +0200
  • Message-id: <4A28DDE4.80402@tbz-pariv.de> <text/plain>

Hallo,

danke Andreas! Ich habe nun die Lösung gefunden:

foo-admin# \dn+  Zeigt mir die Schemas und die Zugriffsrechte

Erstellen neuer Objekte verbieten:
    foo-admin# revoke create on schema public from PUBLIC;
Es wundert mich, dass per Default jeder neue Tabellen anlegen kann.

foo=> create table foo();
ERROR:  permission denied for schema public
 --> Super, genau das was ich wollte.

 Gruß,
   Thomas

PS: Interessant wäre es jetzt noch, in welchen internen Tabellen (pg_...)
die GRANT und REVOKE Veränderungen gespeichert werden....
google ... :
 http://developer.postgresql.org/pgdocs/postgres/catalogs-overview.html
 --> pg_namespace

A. Kretschmer schrieb:
> In response to Thomas Guettler :
>> Hallo,
>>
>> bisher hatt mein DB-User Adminrechte. Das will ich ändern und
>> funktioniert auch ganz gut.
>>
>> Es gibt nun die DB Nutzer "foo" und "foo-admin". Die Datenbank
>> gehört foo-admin und foo hat SELECT und UPDATE Rechte.
>>
>> Komischerweise kann foo Tabellen in der Datenbank anlegen, die im
>> nicht gehört.
>> Selbst sein explizites REVOKE CREATE ON DATABASE ... ändert nichts.
> 
> http://archives.postgresql.org/pgsql-general/2002-12/msg01038.php
> 
> Andreas

-- 
Thomas Guettler, http://www.thomas-guettler.de/
E-Mail: guettli (*) thomas-guettler + de



Home | Main Index | Thread Index

Privacy Policy | About PostgreSQL
Copyright © 1996 – 2012 PostgreSQL Global Development Group