Mit dem Befehl CREATE USER legt man einen Benutzer neu an und richtet
damit einen Benutzernamen und ein Passwort für den Benutzer ein, gleichzeitig
hat auch die Möglichkeit, den Benutzer in eine oder mehrerer bereits
bestehenden Gruppen hinzuzufügen. Um den Zustand eines Datenbankbenutzers zu
verändern (z.B. das Passwort zu ändern), wird der Befehl ALTER USER
verwendet. Der Befehl DROP USER entfernt einen in der Datenbank schon
exitierenden Benutzer wieder.
Eine Gruppe in PostgreSQL kann mit dem Befehl CREATE GROUP
eingerichtet werden. In einer Gruppe werden die jenigen Datenbankbenutzer
aufgenommen, die nach gewissen Kriterien zusammengehören können. Mit dem
Befehl ALTER GROUP kann man neue Benutzer in eine Gruppe hinzufügen
oder die Gruppenmitglieder entfernen. Der Befehl DROP GROUP löscht
eine Gruppe.
Damit ein Benutzer überhaupt Arbeiten in der Datenbank ausführen kann, werden
ihm die entsprechenden Zugriffsberechtigungen auf den Datenbankobjekten durch
den Befehl GRANT gegeben. Die Objekte in PostgreSQL, auf die eine
Zugriffsberechtigung vergeben kann, sind z.B. Tabellen, Sichten und Squenzen.
Der Befehl REVOKE entzieht einem Benutzer oder einer Gruppe diese
Berechtigungen wieder. Es gibt zwei Typen von Privilegien: Systemprivilegien
und Objeteprivilegien. Die Systemprivilegien sind diejenigen Rechte, die
einem Benutzer erlaubt, neue Datenbanken einzurichten oder neue Benutzer in
die Datenbank hinzuzufügen, die Objekteprivilegien in PostgreSQL umfassen die
vier Zugriffsberechtigungen(SELECT, INSERT, UPDATE/DELETE und RULE) auf
unterschiedlichen Datenbankobjekten. Die Systemprivilegien können nur von
einem Superuser erteilt werden, während die Objekteprivilegien von einem
Superuser oder dem Besitzer (Owner) dieser Objekte in PostgreSQL vergeben
können.
Nach dem Sichterheitskonzept unter PostgreSQL sollen alle Benutzer wie in
Abbildung 2.2 gezeigt verwaltet werden. An jeden Datenbankbenutzer werden
entsprechende Zugriffsberechtigungen auf bestimmte Objekte zugeordnet werden.
In einer Gruppe haben alle Mitglieder gemeinsam die Zugriffsrechte, die direkt
an diese Gruppe erteilt werden. Die Gruppenmitglieder können nicht nur die
gemeinsamen als auch individuelle Zugriffsrechte erhalten. Ein Beispiel in der
Praxis dafür: Während der Vorlesungszeit gibt es im Lehrstuhl mehrere
Übungsbetriebe für entsprechende Vorlesungen, für eine Vorlesung (z.B. Info3)
bilden dann die Tutoren als Benutzer eine eigne Gruppe in der Datenbank. Alle
Tutoren in diese Gruppe bekommen den Zugriff auf die Objekte (wie z.B.
Übungsaufgaben, Lösungen), die während der Übungsbetreuung von Bedeutung sind.
Gleichzeitig erhält jeder Übungsleiter noch zusätzlich individuellen Zugriff
auf die Information über die Übungsgruppe, die direkt von ihm betreut wird.