Universelle Benutzer für Datenbanken ?
Universelle Benutzer für Datenbanken ?
Hallo,
ich bin neu und habe mir auf einem VPN mit Debian 9 Keyhelp erfolgreich installiert.
Benutzer und Datenbanken angelegt, soweit so gut. Doch gibt es die möglichkeit für alle Datenbanken eines Benutzers einen universellen Benutzer anzulegen?
Ich kenne es auf plesk zb.
Unter Konfiguration / Datenbank-Server habe ich schonmal die Option --> Individuelle Datenbank- / Benutzernamen gefunden
allerdings kann nur jeder DB nutzer 1x existieren....
Ich habe leider durch suchen im Forum, google etc. leider nichts zu diesem thema finden können und wäre dankbar wenn mir da geholfen werden kann
Lg
Micha
ich bin neu und habe mir auf einem VPN mit Debian 9 Keyhelp erfolgreich installiert.
Benutzer und Datenbanken angelegt, soweit so gut. Doch gibt es die möglichkeit für alle Datenbanken eines Benutzers einen universellen Benutzer anzulegen?
Ich kenne es auf plesk zb.
Unter Konfiguration / Datenbank-Server habe ich schonmal die Option --> Individuelle Datenbank- / Benutzernamen gefunden
allerdings kann nur jeder DB nutzer 1x existieren....
Ich habe leider durch suchen im Forum, google etc. leider nichts zu diesem thema finden können und wäre dankbar wenn mir da geholfen werden kann
Lg
Micha
Re: Universelle Benutzer für Datenbanken ?
Die Datenbanken funktionieren benutzerübergreifend.
Kennt User A das DB Passwort von User B kann A auf die Inhalte in DB B zugreifen.
Kennt User A das DB Passwort von User B kann A auf die Inhalte in DB B zugreifen.
Gruß,
Tobi
-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
Tobi
-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
Re: Universelle Benutzer für Datenbanken ?
Hallo, alles klar vielen dank
dann müsste folgendes so funktionieren (alle db_user haben dasselbe Password):
db_connect() {
// Zugangsdaten für die DB
$dbhost = 'localhost';
$dbuser = 'user_db1';
$dbpass = 'PASSWORD';
$dbname = 'user_db1';
......
SELECT * FROM data // zugriff auf user_db1
SELECT * FROM user_db2.data // zugriff auf user_db2
hoffe ich habe es richtig verstanden
dann müsste folgendes so funktionieren (alle db_user haben dasselbe Password):
db_connect() {
// Zugangsdaten für die DB
$dbhost = 'localhost';
$dbuser = 'user_db1';
$dbpass = 'PASSWORD';
$dbname = 'user_db1';
......
SELECT * FROM data // zugriff auf user_db1
SELECT * FROM user_db2.data // zugriff auf user_db2
hoffe ich habe es richtig verstanden
Re: Universelle Benutzer für Datenbanken ?
Ja, sieht augenscheinlich erstmal gut aus.
Gruß,
Tobi
-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
Tobi
-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
Re: Universelle Benutzer für Datenbanken ?
also wenn ich mich mit "user_db1" einlogge und folgenden mysql befehl ausführe:
SELECT * FROM user_db2.tabelle
bekomme ich leider keinen zugriff...
MySQL meldet:
#1142 - SELECT Befehl nicht erlaubt für Benutzer 'user_db2'@'localhost' auf Tabelle 'rechnungen'
-----------------------------------------------------------------------------------------------------------------------------
SELECT * FROM tabelle // funktioniert ---> daten aus "user_db1"
SELECT * FROM user_db1.tabelle // funktioniert ---> daten aus "user_db1"
SELECT * FROM user_db2.tabelle // FEHLER
was mache ich falsch ?
SELECT * FROM user_db2.tabelle
bekomme ich leider keinen zugriff...
MySQL meldet:
#1142 - SELECT Befehl nicht erlaubt für Benutzer 'user_db2'@'localhost' auf Tabelle 'rechnungen'
-----------------------------------------------------------------------------------------------------------------------------
SELECT * FROM tabelle // funktioniert ---> daten aus "user_db1"
SELECT * FROM user_db1.tabelle // funktioniert ---> daten aus "user_db1"
SELECT * FROM user_db2.tabelle // FEHLER
was mache ich falsch ?
Re: Universelle Benutzer für Datenbanken ?
Hallo,
dies ist so vollkommen korrekt. Jeder User hat entsprechend nur Zugriff auf seine Datenbank. Mehrere Webuser können aber für den Zugriff auf die Datenbank natürlich einen identischen Datenbanknutzer verwenden.
dies ist so vollkommen korrekt. Jeder User hat entsprechend nur Zugriff auf seine Datenbank. Mehrere Webuser können aber für den Zugriff auf die Datenbank natürlich einen identischen Datenbanknutzer verwenden.
Viele Grüße,
Martin
Martin
Re: Universelle Benutzer für Datenbanken ?
ok evtl. ein kleines Missverständniss...
ich möchte folgendes erreichen:
ein kunde (example.com) erstellt 3 datenbanken (db1, db2, db3), alle datenbanken müssen ja laut panel unterschiedliche benutzer haben (also user1, user2 und user3)
wir bekomme ich es hin das ich mit einem user auf alle 3 dbs zugreifen kann ? ein universeller benutzer wie zb. in plesk ist ja anscheinend so nicht möglich ?
ich möchte folgendes erreichen:
ein kunde (example.com) erstellt 3 datenbanken (db1, db2, db3), alle datenbanken müssen ja laut panel unterschiedliche benutzer haben (also user1, user2 und user3)
wir bekomme ich es hin das ich mit einem user auf alle 3 dbs zugreifen kann ? ein universeller benutzer wie zb. in plesk ist ja anscheinend so nicht möglich ?
Re: Universelle Benutzer für Datenbanken ?
Ach so, sorry, da hatte ich vorhin nur flüchtig geschaut.
Du muss natürlich für Datenbank 2 die Zugangsdaten von DB 2 verwenden.
Aber du kannst mit Webuser 1 auf die DBS von User 2 zugreifen. Dein Skript musst du halt so anpassen, dass es mehrere Zugangsdaten verwalten kann.
Und du kannst keine Joins auf zwei unterschiedliche DBS machen. Immer nur eine pro Anfrage.
Du muss natürlich für Datenbank 2 die Zugangsdaten von DB 2 verwenden.
Aber du kannst mit Webuser 1 auf die DBS von User 2 zugreifen. Dein Skript musst du halt so anpassen, dass es mehrere Zugangsdaten verwalten kann.
Und du kannst keine Joins auf zwei unterschiedliche DBS machen. Immer nur eine pro Anfrage.
Gruß,
Tobi
-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
Tobi
-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
Re: Universelle Benutzer für Datenbanken ?
Okay dann wären das schonmal die zwei datenbank-verbindungen:
// MySQL-Connect-Daten
$db1_server = "localhost"; // Server
$db1_user = "user_1"; // Benutzer
$db1_pwd = "password"; // Passwort
$db1_name = "db_1"; // Datenbankname
// Verbindung herstellen, wenn nicht erfolgreich -> scrpt abbrechen
$db1 = @mysql_connect($db1_server, $db1_user, $db1_pwd) or die ("Konnte Verbindung zum MySQL-Server nicht herstellen!");
// Datenbank auswählen, wenn nicht erfolgreich -> Script abbrechen
@mysql_select_db($db1_name) or die ("Konnte Datenbank nicht finden!<br>" . mysql_error());
----------------------------------------------------------------------------------------------------------------------
$db2_server = "localhost"; // Server
$db2_user = "user_2"; // Benutzer
$db2_pwd = "password"; // Passwort
$db2_name = "db_2"; // Datenbankname
// Verbindung herstellen, wenn nicht erfolgreich -> scrpt abbrechen
$db2 = @mysql_connect($db2_server, $db2_user, $db2_pwd) or die ("Konnte Verbindung zum MySQL-Server nicht herstellen!");
// Datenbank auswählen, wenn nicht erfolgreich -> Script abbrechen
@mysql_select_db($db2_name) or die ("Konnte Datenbank nicht finden!<br>" . mysql_error());
$query = mysql_query("SELECT * FROM tabelle", $db1) // zugriff auf DB_1
$query = mysql_query("SELECT * FROM tabelle", $db2) // zugriff auf DB_2
wie siehts denn aus mit UNION ALL ?
SELECT * FROM DB_1 UNION ALL SELECT * FROM DB_2 WHERE......
Am liebsten wäre mir natürlich ein universeller Benutzer welcher eben zugriff auf alle Datenbanken erhält (Innerhalb eines Panel Benutzers natürlich)
das muss doch machbar sein ?
EDIT:
habe nun in der SSH console folgenden Befehl ausgeführt:
GRANT ALL PRIVILEGES ON *.* TO 'superuser'@'localhost' WITH GRANT OPTION;
superuser hat nun root rechte und zugriff auf alle datenbanken,
kann ich das eingrenzen? auf nur die datenbanken des zugehörigem benutzerkonto welches in KeyHelp für den benutzer angelegt wurde?
EDIT:
Thrend kann geschlossen werden ! Lösungsansatz anhand eines Beispiels:
in KeyHelp legt der Admin User einen neuen Kunden an, der Kunde legt sich 3 Datenbanken (db_1, db_2, db_3) an
jede Datenbank hat einen individuellen Benutzer, jede Datenbank ist individuell.
1) per SSH als root einloggen
2) mysql -u root -p
3) einen Neuen mysql Benutzer erstellen:
CREATE USER 'master'@'localhost' IDENTIFIED BY 'password';
4) Nun dem neu angelegtem benutzer alle nötigen datenbanken zuweisen:
GRANT ALL ON db_1.* TO 'master'@'%' IDENTIFIED BY 'password';
GRANT ALL ON db_2.* TO 'master'@'%' IDENTIFIED BY 'password';
GRANT ALL ON db_3.* TO 'master'@'%' IDENTIFIED BY 'password';
5) zum schluss noch:
FLUSH PRIVILEGES;
Fertig, Benutzer "master" hat nun zugriff auf alle 3 Datenbanken
-
- Posts: 228
- Joined: Tue 9. Apr 2019, 16:31
- Location: Korschenbroich
- Contact:
Re: Universelle Benutzer für Datenbanken ?
Hallo,
ich schließe mich Micha an. Es wäre super, wenn man pro Benutzer einen Benutzer-Super-DB-User anlegen könnte, der auf alle Datenbanken des Benutzers Zugriff hat.
+1
Christian
ich schließe mich Micha an. Es wäre super, wenn man pro Benutzer einen Benutzer-Super-DB-User anlegen könnte, der auf alle Datenbanken des Benutzers Zugriff hat.
+1
Christian
Individuelle Entwicklung webbasierter Datenbanksysteme
https://www.john-softwareentwicklung.de
https://www.john-softwareentwicklung.de
- OlliTheDarkness
- Posts: 1854
- Joined: Tue 14. Aug 2018, 16:41
- Location: Essen (NRW)
Re: Universelle Benutzer für Datenbanken ?
<< Spielverderber
Dagegen aus jedem nur erdenklichem Sicherheitsaspekt.
-1
Dagegen aus jedem nur erdenklichem Sicherheitsaspekt.
-1
Mit freundlichen Grüßen
OlliTheDarkness
**************************************************************
Helden leben lange, Legenden sterben nie
World Hack Organization
**************************************************************
OlliTheDarkness
**************************************************************
Helden leben lange, Legenden sterben nie
World Hack Organization
**************************************************************
Re: Universelle Benutzer für Datenbanken ?
sonst können wir auch wieder Admin/Admin machen oder Password. Die Datenbanken bzw. die Server stehen ONLINE, es ist kein Wifi-Router welcher (einigermaßen) lokal im Zugriff ist. von daher von mir auch ein MINUS 1OlliTheDarkness wrote: ↑Tue 2. Jul 2019, 11:57 << Spielverderber
Dagegen aus jedem nur erdenklichem Sicherheitsaspekt.
-1
Wer meint, Kompetenz sei teuer, möge es einmal mit Inkompetenz versuchen. Zitat: Bernd W. Klöckner.
Re: Universelle Benutzer für Datenbanken ?
Micha hat doch ausführlich beschrieben wie es geht.christian.john wrote: ↑Mon 1. Jul 2019, 14:26 Hallo,
ich schließe mich Micha an. Es wäre super, wenn man pro Benutzer einen Benutzer-Super-DB-User anlegen könnte, der auf alle Datenbanken des Benutzers Zugriff hat.
+1
Christian
Warum machst du es nicht einfach so?
Gruß,
Tobi
-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
Tobi
-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
- OlliTheDarkness
- Posts: 1854
- Joined: Tue 14. Aug 2018, 16:41
- Location: Essen (NRW)
Re: Universelle Benutzer für Datenbanken ?
Wie ?stfn116 wrote: ↑Tue 2. Jul 2019, 12:00sonst können wir auch wieder Admin/Admin machen oder Password. Die Datenbanken bzw. die Server stehen ONLINE, es ist kein Wifi-Router welcher (einigermaßen) lokal im Zugriff ist. von daher von mir auch ein MINUS 1OlliTheDarkness wrote: ↑Tue 2. Jul 2019, 11:57 << Spielverderber
Dagegen aus jedem nur erdenklichem Sicherheitsaspekt.
-1
Du hast es gewagt Benutzername und Kennwort von Admin / Admin zu ändern ?
Spassbremse ey
Zum Thema Router sag ich jetzt mal nichts **hust**
Aber mal im ernst, gut das ich nicht allein es so sehe
Mit freundlichen Grüßen
OlliTheDarkness
**************************************************************
Helden leben lange, Legenden sterben nie
World Hack Organization
**************************************************************
OlliTheDarkness
**************************************************************
Helden leben lange, Legenden sterben nie
World Hack Organization
**************************************************************
Re: Universelle Benutzer für Datenbanken ?
ich misch mich zwar sonst soweit es geht nicht in feature requests usw ein. weil bisher komme ich mit dem bereits gelieferten gut zurecht. von daher und weil ich die ablehnende haltungen teile würde ich auch ein minus geben.
zum eigentlichen post. es gibt ja noch die möglichkeit der prefixe. wenn's damit nicht komplett unübersichtlich wird isses dann alles in einer db.
was mir allerdings bei dem bsp code auch auffiel .. ich würde die sachen erstmal für php 7 fit mache. dh mysql_query auf mysqli usw.
zum eigentlichen post. es gibt ja noch die möglichkeit der prefixe. wenn's damit nicht komplett unübersichtlich wird isses dann alles in einer db.
was mir allerdings bei dem bsp code auch auffiel .. ich würde die sachen erstmal für php 7 fit mache. dh mysql_query auf mysqli usw.