Lists: | Postg사설 토토 사이트SQL : |
---|
From: | Thomas Uzunoff <info(at)grizzlycrm(dot)de> |
---|---|
To: | pgsql-de-allgemein(at)postgresql(dot)org |
Subject: | Benutzer für Datenbank komplett sperren - Wie? |
Date: | 2011-08-24 15:10:58 |
Message-ID: | 4E551482.3090405@grizzlycrm.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-de-allgemein |
Hallo liebe Leute,
habe lange gesucht, aber keine absolute Lösung gefunden und bin bald am
verzweifeln.
Wie kann ich einen Benutzer (Login-Rolle) komplett von einer Datenbank
ausschließen, und ihm nur Zugriff auf eine andere Datenbank auf dem
selben Server zu geben?
Was ich bisher geschafft habe: Benutzer kann sich die Inhalte der
Tabellen nicht mehr ansehen, aber immer noch die Datenbankstruktur.
Wie kann ich ihm auch noch den Zugriff auf die Struktur (+ wenn möglich
Funktionen/Sequenzen) sperren?
Danke + Grüße
Thomas
PS:
Konfiguration:
Debian 6.xx
Postgresql 9.xx
From: | PostgreSQL - Hans-Jürgen Schönig <postgres(at)cybertec(dot)at> |
---|---|
To: | Thomas Uzunoff <info(at)grizzlycrm(dot)de> |
Cc: | pgsql-de-allgemein(at)postgresql(dot)org |
Subject: | Re: [pgsql-de-allgemein] Benutzer für Datenbank komplett sperren - Wie? |
Date: | 2011-08-24 16:09:09 |
Message-ID: | C3EB6A68-EDD0-4E7B-A168-F43E64E4AFC5@cybertec.at |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | Postg사설 토토 사이트SQL : |
hallo …
vermutlich musst du noch public "entrechten".
das ist oft ein thema, das vergessen wird.
lg,
hans
On Aug 24, 2011, at 5:10 PM, Thomas Uzunoff wrote:
> Hallo liebe Leute,
>
> habe lange gesucht, aber keine absolute Lösung gefunden und bin bald am verzweifeln.
>
> Wie kann ich einen Benutzer (Login-Rolle) komplett von einer Datenbank ausschließen, und ihm nur Zugriff auf eine andere Datenbank auf dem selben Server zu geben?
>
> Was ich bisher geschafft habe: Benutzer kann sich die Inhalte der Tabellen nicht mehr ansehen, aber immer noch die Datenbankstruktur.
>
> Wie kann ich ihm auch noch den Zugriff auf die Struktur (+ wenn möglich Funktionen/Sequenzen) sperren?
>
> Danke + Grüße
>
> Thomas
>
>
> PS:
>
> Konfiguration:
> Debian 6.xx
> Postgresql 9.xx
>
> --
> Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-de-allgemein
>
--
Cybertec Schönig & Schönig GmbH
Gröhrmühlgasse 26
A-2700 Wiener Neustadt, Austria
Web: http://www.postgresql-support.de
From: | "Albe Laurenz" <laurenz(dot)albe(at)wien(dot)gv(dot)at> |
---|---|
To: | "Thomas Uzunoff *EXTERN*" <info(at)grizzlycrm(dot)de>, <pgsql-de-allgemein(at)postgresql(dot)org> |
Subject: | RE: [pgsql-de-allgemein] Benutzer für Datenbank komplett sperren - Wie? |
Date: | 2011-08-25 07:46:52 |
Message-ID: | D960CB61B694CF459DCFB4B0128514C206C77934@exadv11.host.magwien.gv.at |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-de-allgemein |
Thomas Uzunoff schrieb:
> habe lange gesucht, aber keine absolute Lösung gefunden und bin bald am
> verzweifeln.
>
> Wie kann ich einen Benutzer (Login-Rolle) komplett von einer Datenbank
> ausschließen, und ihm nur Zugriff auf eine andere Datenbank auf dem
> selben Server zu geben?
>
> Was ich bisher geschafft habe: Benutzer kann sich die Inhalte der
> Tabellen nicht mehr ansehen, aber immer noch die Datenbankstruktur.
>
> Wie kann ich ihm auch noch den Zugriff auf die Struktur (+ wenn möglich
> Funktionen/Sequenzen) sperren?
Wenn es darum geht, einen User in die Datenbank einsteigen zu lassen,
ihm dann aber die Leserechte auf die Metadaten zu entziehen, dann kann man
REVOKE USAGE ON SCHEMA pg_catalog FROM PUBLIC;
GRANT USAGE ON SCHEMA pg_catalog TO <wer darf>;
Der so ausgesperrte User kann aber auch nicht mehr sinnvoll mit
Objekten arbeiten, auf die er Zugriffsrechte hat, weil viele Operationen
Zugriff auf pg_catalog erfordern.
Es gibt in PostgreSQL keine Möglichkeit, einen User in einer Datenbank
arbeiten zu lassen, ihm aber den Zugriff auf die Metadaten zu entziehen.
Allerdings ist es ziemlich sinnlos, einen User in die Datenbank zu
lassen, wenn der dort dann überhaupt nichts kann.
Besser ist, ihn gleich auszusperren:
REVOKE CONNECT, TEMPORARY ON DATABASE dbname FROM PUBLIC;
GRANT CONNECT, TEMPORARY ON DATABASE dbname TO <wer darf>;
Liebe Grüße,
Laurenz Albe