Zum Inhalt springen

MySQL - Rechte - Create u. Create Temporary


Callam

Empfohlene Beiträge

Hi, ich Ich komme mit den Rechten in MySQL soweit zurecht, das ich einem Benutzer anweisungen wie create, alter, insert etc. erlauben und verbieten kann.

Nun möchte ich für meine DB einen neuen User anlegen, der nur aus bestimmten Tabellen lesen kann, aber keine Datensätze, Tabellen oder Datenbanken manipulieren darf. Soweit auch kein problem ...

nur soll er temporäre tabellen frei erzeugen und verändern dürfen.

wenn ich aber create, insert etc. verbiete können auch keine Temporären tabellen erstellt werden.

gibt es eine möglichkeit, bei der rechtevergabe zwischen "create table" und "create temporary table" zu unterscheiden?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Callam,

es gibt im phpmyadmin die möglichkeit das Recht create temporay table zu setzen -->bei Struktur

http://web52.netroom.de/shutdown_privilegs.gif

wenn du kein phpmyadmin hast geht es acuh mit folgendem befehl:

grant create temporary tables on db_name.* to db_user

gruß

Bearbeitet von lausbub
Link zu diesem Kommentar
Auf anderen Seiten teilen

hi, danke für die schnelle antwort :)

funtioniert das auch so wenn man alter, insert etc nur auf temporäre tabellen beschränken will?

[grad getestet] ... hat leider nicht funktioniert, ergebnis war das der user alle rechte bekommen hat...

Bearbeitet von Callam
Link zu diesem Kommentar
Auf anderen Seiten teilen

ich möchte die rechte ja nicht einschränken, sondern vergeben, das recht "create temporary table" leider nicht gleichzeitig bedeutet, dass auf diese auch selct, insert, update etc angewendet werden darf:

drop temporary table if exists tmp_test;

create temporary table tmp_test

... inhalte ...;

select * from tmp_test;

... zum testen, kommt z.b. immer die fehlermeldung:

SELECT command denied to user 'username'@'host' for table 'tmp_test'

Link zu diesem Kommentar
Auf anderen Seiten teilen

nein, die querys werden direkt hintereinander ausgeführt ohne abmelden zwischendurch

die anweisungen funktionieren mit einem anderen user, der all rechte hat problemlos,

nur nicht mit dem, der nur die create temporary table hat, was für mich bedeutet:

das recht "create temporary table" != "select" auf die temporäre tabelle

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja, genau das ist ja mein problem,

wie stelle ich die rechte für temporäre tabellen ein, die bei anlegen des users noch garnicht existieren?

um das ganze nochmal etwas auszuführen, was ich genau vorhabe...

ich sitze hier an einer webanwendung, in der der administrator die möglichkeit eine query in ein formular einzutippen und zu speichern

bei klick auf einen link wird dann das ergebnis der query als html tabelle ausgegeben

um den admin zu entlasten sollen die user, die zumindest ein bisschen ahnung von sql haben selbst solche auswertungen anlegen können, allerdings mit der beschränkung, das nur von bestimmten (standerd)-tabellen gelesen werden kann

hierfür will ich einen neuen db user anlegen, der nur begrenzte rechte hat

der user, der die query erstellen darf, soll auch temporäre tabellen nutzen können, da diese in verschiedenen fällen schneller sind als joins

daher braucht der user vollen zugriff (incl. ändern) auf temporäre tabellen und nur eingeschränkte auf standardtabellen, und genau das ist das ding, das ich keine unterscheidung zwischen temporär und nicht temporär hinbekomme

Bearbeitet von Callam
Link zu diesem Kommentar
Auf anderen Seiten teilen

ich sehe da allerdings keine andere möglichkeit als die recht global in der db zu vergeben.

mysql unterstütz das soweit ich weiß nicht:

MySQL Bugs: #21100: Permission model does not allow for a read only user with temporary tables

oder du legst für die temp tabellen eine extra db an, dann dürfte der rest ja egal sein.

das würde allerdings änderungen am quelltext der applikation vorraussetzen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

ok, das global die rechte setzen geht leider nicht, da er sonst z.b. alter oder drop auf die db anwenden könnte

das mit der extra db für die temporären tabellen werde ich mal ausprobieren und schauen, ob die user da irgendwelchen schwachsinn mit anstellen können :rolleyes:

änderungen am quellcode der app sind eh noch geplant und der aufwand wär da nicht allzu groß

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...