# Neue Domain - Neuer Host - phpmyadmin??



## WolfCG (14. Sep. 2010)

Hallo..

Habe auf meinem Debian Lenny Server eine neue Domain hinzugefügt. Eines kunden. Die Domain ist nun erreichabr und alles funktioniert..

Auch phpmyadmin ist unter domain.tld/phpmyadmin erreichbar. Allerdings kann man sich dort nicht einloggen. Welche Userdaten müssen dort eingegeben werden?? Wenn ich mich auf meiner HauptIP des Servers unter phpmyadmin als root einlogge und einen User erstelle für domain.tld dann gehts dann trotzdem nicht.. 

Wo liegt hier der Hase begraben?? bin leider noch neuling in sachen server..
Gruss
Wolf


----------



## planet_fox (14. Sep. 2010)

Hast du eine Datenbank erstellt ? Mit den Benutzernamen der Datenbank kannst du dich einloggen Sprich Datenbank user und das Passwort dazu


----------



## WolfCG (16. Sep. 2010)

Jepp hab ich. FUnktioniert, nur möchte ich nicht, dass wenn sich der neu erstelle benutzer unter seiner Domain dann einloggt, auch noch alle anderen Datenbanken sieht, sondern nur seine..

WIe mach ich das?
DIe Domain ist future-design-3d.ch und wenn er sich einloggt, sollte er nur seine eigene DB haben und sehen und nicht noch die haupt-DBS vom server oder meine..

Muss ich da als Host future-design-3d.ch eingeben?? falls ja., hab ich versucht, dann geht kein Login mehr...

greetz


----------



## Till (16. Sep. 2010)

> Jepp hab ich. FUnktioniert, nur möchte ich nicht, dass wenn sich der neu  erstelle benutzer unter seiner Domain dann einloggt, auch noch alle  anderen Datenbanken sieht, sondern nur seine..


Jeder mysql nutzer sieht nur seine Datenbank. Die Domain über die Du dich einloggst speilt dabei überhaupt keine Rolle.


----------



## WolfCG (16. Sep. 2010)

Nö. Leider nicht. Habe mal nen neuen User erstellt.. und mich damit einloggen wollen.. sehe trotzdem alle Datenbanken. Mach ich da was falsch? 

Sorry die Fragen, wo vielleicht lächerlich sind, aber irgendwie hab ich wo nen Haken.. 

Gruss


----------



## Till (17. Sep. 2010)

In ISPConfig kannst Du ja nur neue Datenbanken aber nicht gesonderte Benutzer erstellen. Du hast also eine neue mysql datenbank im ispconfig website Modul erstellt und Dich dann mit den Zugangsdaten die Du in dem Formular zum anlegen der neuen datenbank angegeben hast in phpmyadmin eingeloggt?


----------



## WolfCG (17. Sep. 2010)

Ne.... Den neuen User und die DB habe ich direkt in phpmyadmin erstellt.. nix mit ISPConfig.


----------



## Burge (17. Sep. 2010)

Und dann fragst du noch?

Lösche diese User und die Datenbanken und lege das unter ISP Config an.
Wozu hast das sonst installiert?


----------



## JeGr (27. Sep. 2010)

Da Meister Wolf nirgends geschrieben hat, dass er ISPC überhaupt einsetzt wäre das Anlegen der DB unter phpMyAdmin eigentlich in Ordnung. Sollte er es einsetzen, wäre das natürlich fatal, denn am System vorbei Änderungen machen ist wenig sinnvoll wenn nicht gar sinnbefreit.

Nichts desto trotz scheint mir hier Neuling auf Unwissen zu treffen wenn es um Datenbanken geht, wenn ich die bisherigen Zeilen über Rechte lese.

Richtig ist wie Till schon schrieb, dass der Zugriff auf die Datenbank mit dem DB-User geschieht, der in der Datenbank anzulegen ist (ich lese viel zu oft hier etwas von Benutzer für Domain angelegt, Systembenutzer haben mit Datenbankbenutzern aber nichts zu tun. Obacht hier beim Neuland Datenbanken).

Desweiteren wird gerne mal beim Anlegen viel zu viel Rechte an den User der Datenbank vergeben, die dieser im Leben niemals braucht (und was potentiell gefährlich und ein Sicherheitsverstoß sein kann). Darum - wenn schon phpMyAdmin eingesetzt wird (und KEIN ISPC installiert ist! Sonst dort unbedingt anlegen und nicht direkt im System!) - den Benutzer am Besten zusammen mit der Datenbank anlegen lassen. Dafür hat phpmyadmin einen extra Punkt beim Erstellen eines Benutzers:

Rechte / Neuer Benutzer hinzufügen / Datenbank für Benutzer: Erstelle eine Datenbank mit gleichem Namen und gewähre alle Rechte.

Gut, wenn die Datenbank nicht den gleichen Namen haben soll - sehr verständlich - sollte man folgendes beherzigen:


DB User bekommen nur Zugriff auf ihre Datenbank (ihr DB-Schema)
Globale Rechte sind meist unnötig!
Wenn auf einer lokalen DB gearbeitet wird (DB wird mit localhost angesprochen), KEINEN Zugriff auf '%' gewähren (% ist in MySQL der Platzhalter für *, also alle. Damit könnte - sofern Benutezrname/Passwort bekannt und keine Firewall vorhanden, jemand aus dem Internet direkt auf die Datenbank verbinden und darin herumwüten)

Am Besten also den User (wenn schon manuell) so anlegen:


```
CREATE USER 'username'@'localhost' IDENTIFIED BY  'passwort';

GRANT USAGE ON * . * TO  'username'@'localhost' IDENTIFIED BY  'passwort' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;

GRANT ALL PRIVILEGES ON  `datenbank` . * TO  'username'@'localhost';
```
Natürlich müssen "datenbank", "username" und "passwort" ersetzt werden. Danach sollte der User nur 2 Schemas in phpMyAdmin sehen: das "information_schema" (readonly) und sein eigenes (datenbank).

Ich hoffe ich konnte weiterhelfen

Grüßend


----------

