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
| | |
... |
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
|