[Technik] Functions, Triggers und (Procedural) Languages in PostgreSQL, Was: Re: postgresql-contrib-8.1

Michael Hierweck team at edv-serviceteam.net
Tue May 6 13:41:38 CEST 2008


Christof Donat wrote:
> Hi,
> 
>> User können keine Funktionen in "nicht trusteted languages" definieren.
> 
> Ah, da lag mein Denkfehler. Ich kann also dann z.B. PL/R verwenden, wenn ich 
> es brauche, aber eben nur die Funktionen, die das Sprachmodul meinem User 
> zubilligt. OK. Ich habe in deiner Liste intuitiv "PL/C" hinzugefügt und mich 
> gewundert ;-)

ja - sofern PL/R einen "Safe Mode" hat und der Superuser PL/R per CREATE
TRUSTED LANGUAGE... verfügbar gemacht hat.

Der Superuser muss inbesondere aufpassen, nicht etwa PL/X als TRUSTED
LANGUAGE verfügbar zu machen, obwohl X keinen Safe Mode hat. Dann könnte
nämlich ein User eine Funktion in X definieren, die am Sicherheitsmodell
von von PostgreSQL vorbeigreifen kann.

Nicht alle PL/*-Sprachen haben einen Safe Mode, also eignen sich als
TRUSTED LANGUAGE - aber: bestimmte Sprachen, z.B. PL/PERL können als
TRUSTED oder nicht TRUSTED ausgeführt werden. Im zweiten Fall stehen
dann mehr Funktionen zur Verfügung, z.B. Filesystem-Operationen.

(Anm.: Damit wäre es beispielweise möglich, in hsadmin die
Aktualisierung einer Konfigrationsdatei per UPDATE/INSERT-Trigger auf
der entsprechenden Objekt (TABLE/VIEW) auszuführen. Mir ist klar, dass
unser hsadmin-Modell überlegen ist.)

Viele Grüße

Michael

-- 
EDV-Serviceteam Werthmann & Hierweck GbR
Annika Werthmann, Michael Hierweck
Egerstraße 53, 44225 Dortmund
http://www.edv-serviceteam.net


More information about the Technik mailing list