Datenbank lässt sich immer anschauen...

MySQL, PostgreSQL, SQLite
kosmix
Posts: 35
Joined: 2002-10-05 13:42
Location: NRW

Datenbank lässt sich immer anschauen...

Post by kosmix » 2003-02-05 13:34

Hallo,

habe folgendes Problem:

1. Wenn ich mich über mein phpMyAdmin in eine Datenbank einloggen möchte, dann brauche ich ja normalerweise den Usernamen, und das Passwort. Wenn ich das habe, dann kann ich mich ja normalerweise einloggen und kriege nur zugriff auf die Datenbanken, wo ich Berechtigungen habe.

- Ich kann mich mit irgendwelchen Buchstaben und sogar ohne Passwort einloggen und bekomme zugriff auf alle Datenbanken. Wenn ich mich nun mit einem Benutzernamen einlogge (mit passwort) dann bekomme ich bei phpmyadmin zugriff auf alle (nicht nur auf die wo ich berechtigungen habe) Datenbanken zugriff.

2. Seit kurzem kann ich in Webmin (wenn ich datenbanken anlegen möchte) mich nicht mehr mit meinem root einloggen. also ins webmin komme ich, aber wenn ich datenbanken anlegen will, dann geht es nicht. Heißt ich kann keine neuen datenbanken anlegen oder andere rechte vergeben.

Hoffe ihr habt eine lösung für mein Problem!?!


MfG Kosmix

konni
Posts: 151
Joined: 2002-12-16 10:05

Re: Datenbank lässt sich immer anschauen...

Post by konni » 2003-02-05 14:18

Dann hast du phpmyadmin falsch konfiguriert.


(zu deinem PRoblem, dass du keinen zugang mehr bekommst, kann ich dir eher net helfen).


Am besten du löschst mal deine komplette vorhandene phpmyadmin Installation, saugst die die neueste aktuelle.

dann gehst du in die config.inc.php und füllst diese so aus:

Code: Select all

$cfg['PmaAbsoluteUri'] =
'https://confixx.pxxxxx.pureserver.info/phpmyadmin';

Im dem Teil für die Serverkonfig musst du folgendes einstellen:

Code: Select all

// The $cfg['Servers'] array starts with $cfg['Servers'][1].  Do not use $cfg['Servers'][0].
// You can disable a server config entry by setting host to ''.
$i++;
$cfg['Servers'][$i]['host']          = 'localhost'; // MySQL hostname
$cfg['Servers'][$i]['port']          = '';          // MySQL port - leave blank for default port
$cfg['Servers'][$i]['socket']        = '';          // Path to the socket - leave blank for default socket
$cfg['Servers'][$i]['connect_type']  = 'tcp';       // How to connect to MySQL server ('tcp' or 'socket')
$cfg['Servers'][$i]['controluser']   = 'phpmyadmin';          // MySQL control user settings
                                                    // (this user must have read-only
$cfg['Servers'][$i]['controlpass']   = 'phpmyadmin';          // access to the "mysql/user"
                                                    // and "mysql/db" tables)
$cfg['Servers'][$i]['auth_type']     = 'http';    // Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user']          = '';      // MySQL user
$cfg['Servers'][$i]['password']      = '';          // MySQL password (only needed
                                                    // with 'config' auth_type)
$cfg['Servers'][$i]['only_db']       = '';          // If set to a db-name, only
                                                    // this db is displayed
                                                    // at left frame
Ok, jetzt erstellst du einen User (ich hab ihn phpmyadmin und passwort phpmyadmin genannt) der in der mySQL Datenbank als einzigsts recht "select", diesen musst du wie du oben in der config.inc.php siehst angeben.

so, wenn du jetzt dein phpmyadmin aufrufst, fragt er dich nach einen nutzernamen und passwort, gibtst du jetzt web2 und dessen Passwort an, siehst der User nur seine datenbank bzw. kann nur seine bearbeiten).


Wichtig ist dass der Auth_Type auf HTTP steht, und dass der phpmyadmin "control" user nur select (auf deutsch in webmin evtl. auswählen ??) rechte hat. d.h. der controluser darf nur eine datenbank auswählen, diese aber nciht bearbeiten, dafür ist dann dei authentifizirung via "http" zuständig.