mysql berechtigungen

User avatar
michi
Posts: 56
Joined: 2008-04-24 00:36
Location: Steyr

mysql berechtigungen

Post by michi »

Guten Abend!

Hab zwingendermassen auf meinem root mysql installiert! Mehrere datenbanken und dazugehörige benutzer angelegt! Das komische daran ist jetzt, das jeder benutzer die datenbanken des anderen sehen kann! Jetzt wollt ich mal fragen ob des normal ist? Weil es kann auch jeder benutzer die anderen datenbanken bearbeiten! Bitte kann mir vlt jemand sagen was ich da falsch mache, bzw wie ich die rechte setzen muss???
Ich sag schonmal danke für euren Rat!!!

mfg Michi
Top

freddy36
RSAC
Posts: 277
Joined: 2008-03-20 17:31

Re: mysql berechtigungen

Post by freddy36 »

Dem user nur Datenbank spezifische Rechte für die jeweilige Datenbank geben.
Als globale Rechte sollten sie nur USING haben.
Top

User avatar
Joe User
Project Manager
Project Manager
Posts: 11519
Joined: 2003-02-27 01:00
Location: Hamburg

Re: mysql berechtigungen

Post by Joe User »

Wie genau hast Du die User und die Datenbanken erstellt?
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Top

User avatar
michi
Posts: 56
Joined: 2008-04-24 00:36
Location: Steyr

Re: mysql berechtigungen

Post by michi »

1. hab ichs über die console mit mysql versucht, (was ich eigentlich bevorzuge)

CREATE DATABASE test;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON test.* TO 'test'@'localhost' IDENTIFIED BY 'testpass';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON test.* TO 'test'@'localhost.localdomain' IDENTIFIED BY 'testpass';
FLUSH PRIVILEGES;
danach mit dem user test einige tabellen angelegt, dann hab ich genau so einen user test2 angelegt, und der zb user test2 kann die datenbank (tabellen) des user test verändern, löschen etc...!

wie sieht denn dann der befehl aus @freddy???

2. hab auch webmin installiert (ist net so meins dieses tool)! dort kann ich auch mysql verwalten, nur läuft webmin net immer! habs auch schon versucht, nur da blick ich irgendwie garnet durch ](*,)
Top

freddy36
RSAC
Posts: 277
Joined: 2008-03-20 17:31

Re: mysql berechtigungen

Post by freddy36 »

Code: Select all

CREATE USER 'test'@'localhost' IDENTIFIED BY 'passwort';
GRANT ALL PRIVILEGES ON `test`.* TO 'test'@'localhost';


Globale Rechte sollten standardmäßig nur USAGE sein, ansonsten noch:

Code: Select all

GRANT USAGE ON *.* TO 'test'@'localhost';


Das tut es bei mir, deins sollte auch klappen, was sagt den

Code: Select all

SHOW GRANTS FOR 'test'@'localhost.localdomain';
Top

User avatar
Joe User
Project Manager
Project Manager
Posts: 11519
Joined: 2003-02-27 01:00
Location: Hamburg

Re: mysql berechtigungen

Post by Joe User »

Code: Select all

mysql -uroot
CREATE DATABASE test DEFAULT CHARACTER SET utf8;
GRANT ALL PRIVILEGES ON test.* TO 'test'@'localhost' IDENTIFIED BY 'PaSsWoRd';
FLUSH PRIVILEGES;
QUIT;

Und in der my.cnf

Code: Select all

skip_show_database
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Top

User avatar
michi
Posts: 56
Joined: 2008-04-24 00:36
Location: Steyr

Re: mysql berechtigungen

Post by michi »

Joe User wrote:

Code: Select all

mysql -uroot
CREATE DATABASE test DEFAULT CHARACTER SET utf8;
GRANT ALL PRIVILEGES ON test.* TO 'test'@'localhost' IDENTIFIED BY 'PaSsWoRd';
FLUSH PRIVILEGES;
QUIT;

Und in der my.cnf

Code: Select all

skip_show_database


des sagts:

Code: Select all

mysql> SHOW GRANTS FOR 'test'@'localhost';
+--------------------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for test@localhost                                                                                                                          |
+--------------------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON *.* TO 'test'@'localhost' IDENTIFIED BY PASSWORD '*md5pw here' |
+--------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)



ok @joe, vielen dank! kann man bestehende user auch noch ändern???
Top

freddy36
RSAC
Posts: 277
Joined: 2008-03-20 17:31

Re: mysql berechtigungen

Post by freddy36 »

michi wrote:ok @joe, vielen dank! kann man bestehende user auch noch ändern???


http://dev.mysql.com/doc/refman/5.1/en/revoke.html
Top

User avatar
Joe User
Project Manager
Project Manager
Posts: 11519
Joined: 2003-02-27 01:00
Location: Hamburg

Re: mysql berechtigungen

Post by Joe User »

So soll es eben nicht aussehen:

Code: Select all

... ON *.* TO ...

Lösche den User und lege ihn mit der Beschränkung auf seine Datenbank (... ON datanbank.* TO ...) erneut an. Das Gleiche machst Du auch mit den anderen Usern (ausser root). Mehr Rechte benötigen normale User nicht...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Top

User avatar
michi
Posts: 56
Joined: 2008-04-24 00:36
Location: Steyr

Re: mysql berechtigungen

Post by michi »

Freddy36 wrote:

Code: Select all

CREATE USER 'test'@'localhost' IDENTIFIED BY 'passwort';
GRANT ALL PRIVILEGES ON `test`.* TO 'test'@'localhost';


Globale Rechte sollten standardmäßig nur USAGE sein, ansonsten noch:

Code: Select all

GRANT USAGE ON *.* TO 'test'@'localhost';


Das tut es bei mir, deins sollte auch klappen, was sagt den

Code: Select all

SHOW GRANTS FOR 'test'@'localhost.localdomain';


hab hier noch probleme... test = wer ist was lol also welcher test ist user und welcher test ist db?

GRANT ALL PRIVILEGES ON `testdb`.* TO 'testuser'@'localhost'; ... stimmen die beiden test´s soweit??

all die tests hier verwirren mich ziemlich lol!!! könntet ihr mir bitte diese codes von oben nochmal mit testdb und testuser schreiben pls??? falls net zuviel arbeit!!! danke schonmal!

PS: useradd + db add sollte so stimmen oder???

Code: Select all

CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'passwort';
GRANT ALL PRIVILEGES ON `testuser`.* TO 'testuser'@'localhost';  (hier weiss ich net ob ...ON `testdb` oder eben `testuser`)
GRANT USAGE ON *.* TO 'testuser'@'localhost';

CREATE DATABASE testdb DEFAULT CHARACTER SET utf8;
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost' IDENTIFIED BY 'PaSsWoRd';
FLUSH PRIVILEGES;
QUIT;
Top

User avatar
Joe User
Project Manager
Project Manager
Posts: 11519
Joined: 2003-02-27 01:00
Location: Hamburg

Re: mysql berechtigungen

Post by Joe User »

Code: Select all

    mysql -uroot
    CREATE DATABASE testdb DEFAULT CHARACTER SET utf8;
    GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost' IDENTIFIED BY 'PaSsWoRd';
    FLUSH PRIVILEGES;
    QUIT;

Nicht mehr und nicht weniger ist zum Anlegen von Datenbanken (Zeile 2) und Usern (Zeile 3) inklusive Zugriffsrechte auf eigene DBs nötig.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Top

User avatar
michi
Posts: 56
Joined: 2008-04-24 00:36
Location: Steyr

Re: mysql berechtigungen

Post by michi »

wie jetzt? muss ich garkein create user durchführen?
also mit grant all privileges on testdb bla testuser wird der user testuser gleich angelegt???
Top

User avatar
Joe User
Project Manager
Project Manager
Posts: 11519
Joined: 2003-02-27 01:00
Location: Hamburg

Re: mysql berechtigungen

Post by Joe User »

michi wrote:wie jetzt? muss ich garkein create user durchführen?

Richtig, musst Du nicht.

michi wrote:also mit grant all privileges on testdb bla testuser wird der user testuser gleich angelegt???

Ebenfalls richtig. So einfach kann es sein, wenn man die Doku liest...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Top

User avatar
michi
Posts: 56
Joined: 2008-04-24 00:36
Location: Steyr

Re: mysql berechtigungen

Post by michi »

lol! thx...

jo hab eh auch schon bei den mysql dokus rumgelesen! aba da steht imme so scheiss viel! das man da net wirklcih durchblickt! überhaupt als nub!
na dann moi danke!!!!
Top