Am Wed, 24 Oct 2012 22:20:39 +0200
schrieb Volker Englisch <
v.englis...@rsli.de>:
> Hmm, ja, createdb habe ich hier auch, ebenfalls FreeBSD. Aber damit
> ist "Stefan" der Owner der Datenbank. Was aber, wenn ein weiterer
> User die GRANTs erhalten soll, sobald eine neue _Tabelle_ innerhalb
> der DB eingerichtet wird?
>
> Z.B. die existierende Datenbank MeineDB. Der User "www" hat über GRANT
> das SELECT-Recht auf die ganze DB. Nun erstelle ich eine neue Tabelle
> (CREATE TABLE NeueTabelle (NR serial, Text text)). Nun hat der User
> "www" aber erst (SELECT-) Rechte auf die Tabelle, wenn sie nach
> Erstellung explizit vergeben werden. Oder nicht...?
Du hast recht, siehe auch Posting von Siegfried. Als Lösung fällt mir
auch nur ein, irgendeine Automatisierung zu schreiben.
Vielleicht ein Trigger, der bei jedem "create table" ein Skript
in der DB anwirft. Das Skript bekommt den Tabllennamen übergeben und
irgendwie vermittelt, welche User welche Rechte besitzen sollen -
Beispielsweise ein User-Rechte-Tabelle. Oder auch nur als Parameter,
wenn es sich um einen Webserver aka User "www" handelt.
Oder eben ein Skript (sh, python, ...), aus dem gleich nach dem "create
table ..." noch ein "grant ... to www" hinterhergeschickt wird.
So würd' ichs veruchen, vielleicht kennt sich jemand besser mit Details
der Userverwaltung aus und kann weitere, ggf. einfachere Vorschläge
machen.
Marc