Universelle Benutzer für Datenbanken ?
Universelle Benutzer für Datenbanken ?
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 ?
Kennt User A das DB Passwort von User B kann A auf die Inhalte in DB B zugreifen.
Tobi
-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
Re: Universelle Benutzer für Datenbanken ?
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 ?
Tobi
-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
Re: Universelle Benutzer für Datenbanken ?
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 ?
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.
Martin
Re: Universelle Benutzer für Datenbanken ?
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 ?
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.
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 ?
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
https://www.john-softwareentwicklung.de
- OlliTheDarkness
- Posts: 1868
- Joined: Tue 14. Aug 2018, 16:41
- Location: Essen (NRW)
Re: Universelle Benutzer für Datenbanken ?

Dagegen aus jedem nur erdenklichem Sicherheitsaspekt.
-1
OlliTheDarkness
**************************************************************
Helden leben lange, Legenden sterben nie


**************************************************************
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


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?
Tobi
-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
- OlliTheDarkness
- Posts: 1868
- 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

OlliTheDarkness
**************************************************************
Helden leben lange, Legenden sterben nie


**************************************************************
Re: Universelle Benutzer für Datenbanken ?
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.