Home - SQL Befehle - Benutzerverwaltung www.sqldocu.com
zurück vor



Benutzer anlegen


Beschreibung
top
Mit der SQL Anweisung GRANT werden Benutzer angelegt. Aus Sicht des RDBMS besteht ein Benutzer aus 3 Attributen:
  • userId   Jeder Benutzer (engl. user) erhält innerhalb des RDBMS einen eindeutigen Namen (userId).
  • Passwort   Zu jeder userId gibt es ein Passwort (engl. password wird meist mit pwd abgekürzt).
  • Berechtigung   Beim Anlegen eines Benutzers werden seine Rechte (engl. privileges) festgelegt. Der SQL Standard kennt 3 unterschiedliche Berechtigungen:
    • CONNECT   Wird ein Benutzer mit dieser Berechtigung angelegt, besitzt er im Wesentlichen nur das Recht, sich mit dem RDBMS zu verbinden (engl. connect). Andere Benutzer können ihm jedoch Rechte auf ihre Objekte (Datenbanken, Tabellen, Views...) geben.
    • RESOURCE   Der Benutzer ist berechtigt Resourcen (Objekte z.B: Tabellen, Views..) zu verwalten (anlegen, ändern, löschen). Wird einem Benutzer das Recht RESOURCE erteilt, erhält er automatisch die CONNECT Berechtigung ( Ausnahme: Oracle, hier muss die CONNECT Berechtigung zusätzlich erteilt werden).
    • DBA   Mit dieser Berechtigung wird der Benutzer Datenbank Administrator (DBA). Er besitzt nahezu uneingeschränkten Zugriff auf alle Objekte im RDBMS. Er kann Rechte weitergeben, Rechte entziehen, Benutzer anlegen, Benutzer löschen... Wird einem Benutzer das Recht DBA erteilt, erhält er automatisch die CONNECT und RESOURCE Berechtigung (Ausnahme: Oracle, hier muss die CONNECT Berechtigung zusätzlich erteilt werden).
Leider unterstützen nicht alle RDBMS den hier vorgestellen ANSI Standard (MySQL weicht gravierend ab). Zudem interpretiert jedes RDBMS die Anweisungen unterschiedlich. Wir vermuten, dass RDBMS den ANSI Standard in Zukunft immer besser unterstützen. Oracle und Informix unterstützen den hier vorgestellten Syntax, interpretieren ihn aber unterschiedlich. Zusätzlich bietet sie weitere Möglichkeiten an, dem Benutzer Rechte zu erteilen/vorzuenthalten.

Infos zu MySQL unter: www.mysql.com
Infos zu Informix unter: www.informix.de
Infos zu Oracle unter: www.oracle.de



Syntax
top

| ... trennt Syntaxmöglichkeiten (entweder oder)
[] ... Syntax innerhalb dieser Klammern ist optional
optional ... Syntax in dieser Zeile ist optional
Beispiele:
GRANT RESOURCE TO Benutzer1
GRANT CONNECT TO Benutzer1 IDENTIFIED BY "beliebigesPasswort"
GRANT DBA TO Benutzer1, Benutzer2 IDENTIFIED BY "beliebigesPasswort"

Benutzer anlegen mit der CONNECT Berechtigung
top
GRANT CONNECT TO Alex
IDENTIFIED BY "beliebigesPasswort"

Es wird der Benutzer Alex mit dem Passwort beliebigesPasswort angelegt. Alex hat die Berechtigung CONNECT

PHP Syntax     PERL Syntax


Benutzer anlegen mit der RESOURCE Berechtigung
top
GRANT RESOURCE TO Alex, Peter
IDENTIFIED BY "beliebigesPasswort"

Es werden die Benutzer Alex und Peter mit dem Passwort beliebigesPasswort angelegt. Sie besitzen die Berechtigung RESOURCE

PHP Syntax     PERL Syntax


Benutzer anlegen mit der DBA Berechtigung
top
GRANT DBA TO Alex
IDENTIFIED BY "beliebigesPasswort"

Es wird der Benutzer Alex mit dem Passwort beliebigesPasswort angelegt. Alex hat die Berechtigung DBA

PHP Syntax     PERL Syntax


top