phpbar.de logo

Mailinglisten-Archive

Rechte: Ich verzweifel

Rechte: Ich verzweifel

Ruediger Weiss ruediger_weiss at web.de
Mon Jan 13 22:33:45 CET 2003


Hi Dennis,
 
> da ich zurzeit keinen Zugriff auf die Konsole habe mache ich gerade alles
> direkt in der Datenbank 'mysql'
.. ??? wie denn dann? editierst du die mysql dateien direkt in einem texteditor? 
ist aber gefährlich ....

> Der User soll jedes Feld, jeder Tabelle der Datenbank 'a' bearbeiten können.
> Also SELECT, INSERT, UPDATE außer in Datenbank 'a', Tabelle 'b' Feld 'c'.
> Dieses Feld soll er nur lesen können.
Dann solltest du erst alle Rechte erteilen und dann die überflüssigen für das eine Feld entziehen:

GRANT select insert, update on a.* to x at localhost;
REVOKE insert, update  (c) on a.b to x at localhost;

übrig bleibt das select recht auf feld c in tabelle b in Datenbank a.
Und wenn du den Spaltennamen in Klammer setzt (ist ja von der Syntax her eine Liste, wenn auch nur mit einem Eintrag), wie ich das in der REVOKE Zeile gemacht habe, dann klappt das auch (Hatte ich in der Mail vorhin vergessen).
Die Userid und den Hostnamen kann man, muss man aber nicht in Hochkomma setzen.

> 
> Wie müsste ich die Rechte (direkt in der Datenbank 'mysql') eintragen?

Wenn du -- wie auch immer -- direkt in den Tabellen arbeiten willst:
Die Berechtigungen auf die Tabellen stehen in mysql.tables_priv, 
die auf die Felder in mysql.columns.priv.
Nach der Modifikation der Tabellen musst du flush privileges ausführen, damit die Rechte eingelesen werden.

Gruss und viel Erfolg,
Rüdiger
______________________________________________________________________________
Die Kommunikationszentrale ist da! Nie wieder E-Mail-Chaos! Verwalten
Sie alle Ihre E-Mail Adressen unter: http://freemail.web.de/features/?mc=021123

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive