Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/12/2006, à 17:11

hyjCQj9J

Droits mysql pour un utilisateur standard dans phpmyadmin

Bonjour

Pour un utilisateur standard qui pourrait utiliser une bdd existante sans pouvoir l'effacer (seulement la vider) ni voir les autres utilisateurs ou des bases ne lui appartenant pas, vous cocheriez quelles cases ?

Données
SELECT
INSERT
UPDATE
DELETE
FILE

Structure
CREATE
ALTER
INDEX
DROP
CREATE TEMPORARY TABLES
CREATE VIEW
SHOW VIEW
CREATE ROUTINE
ALTER ROUTINE
EXECUTE

Administration
GRANT
SUPER
PROCESS
RELOAD
SHUTDOWN
SHOW DATABASES
LOCK TABLES
REFERENCES
REPLICATION CLIENT
REPLICATION SLAVE
CREATE USER

J'ai pour l'instant tout laissé coché sauf ce qui est en italique avec un "0" :

Administration
0 GRANT
SUPER
PROCESS
0 RELOAD
0 SHUTDOWN
0 SHOW DATABASES

LOCK TABLES
0 REFERENCES
REPLICATION CLIENT
REPLICATION SLAVE
0 CREATE USER

Merki.


KDE : du vrai GUI qui sert tout en étant un vrai environnement de travail.
Sinon autant rester sous Ubuntu-server :)

Kubuntu, parce que je le vaux bien.

Hors ligne

#2 Le 14/12/2006, à 17:27

dexinou

Re : Droits mysql pour un utilisateur standard dans phpmyadmin

Salut,
je peux vous montrer en ligne de commande car en graphique je sais pas.

mysql -u root -p
password:
CREATE DATABASE testdb;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON testdb.* TO 'test'@'localhost' IDENTIFIED BY 'motdepasse';
FLUSH PRIVILEGES;
quit;

- Création d'une base 'testdb' où l'utilisateur 'test' ne pourra pas l'effacer et ne verra pas les bases des autres users mais il pourra faire ce qu'il faut dans sa propre base seulement.
- remplacer la valeur 'motdepasse' par la vôtre.

J'espère avoir répondu à la question.

Dernière modification par dexinou (Le 15/12/2006, à 14:41)


Ubuntu 9.10 64bits ext4 ® Core 2 Duo
Unix..... il y a moins bien mais c'est plus cher.
Si t'as pas compris la réponse, pose mieux ta question.
Tutoriaux Linux, apache, pure-ftpd, bind, mysql, qmail...

Hors ligne

#3 Le 15/12/2006, à 16:34

hyjCQj9J

Re : Droits mysql pour un utilisateur standard dans phpmyadmin

Graphiquement ça donne quelque chose de plus restricitif que ce que je pensais, à savoir pour seules cases cochées :

Données
SELECT
INSERT
UPDATE
DELETE

Structure
CREATE
DROP

Énorme merki wink

(au fait, c'est normal je suppose que la base "information_shema" soit lisible par mon user qui n'a pourtant aucun droit ?)


KDE : du vrai GUI qui sert tout en étant un vrai environnement de travail.
Sinon autant rester sous Ubuntu-server :)

Kubuntu, parce que je le vaux bien.

Hors ligne

#4 Le 15/12/2006, à 22:06

dexinou

Re : Droits mysql pour un utilisateur standard dans phpmyadmin

Pour cacher les bases que vous voulez c'est simple, il suffit d'éditer le fichier config.inc.php de phpmyadmin et de trouver la valeur

$cfg['Servers'][$i]['hide_db']       = ' ';          // Database name to be hidden from listings

et vous mettez les bases que vous voulez cacher aux utilisateurs 
par ex.:
'information_schema|mysql'

Voilà

Dernière modification par dexinou (Le 16/12/2006, à 04:26)


Ubuntu 9.10 64bits ext4 ® Core 2 Duo
Unix..... il y a moins bien mais c'est plus cher.
Si t'as pas compris la réponse, pose mieux ta question.
Tutoriaux Linux, apache, pure-ftpd, bind, mysql, qmail...

Hors ligne

#5 Le 16/12/2006, à 12:03

hyjCQj9J

Re : Droits mysql pour un utilisateur standard dans phpmyadmin

Bonjour

Ça doit être l'idée comme dit également ici.

Par contre cette commande me renvoit rien :

$ grep "hide" /var/www/phpmyadmin/config.inc.php

Je rajoute une ligne ?

Le fichier par défaut me semble pas très renseigné, y'a même pas de commentaire :

<?php
/**
 * Please, do not edit this file. The configuration file for Debian system
 * is located at /etc/phpmyadmin directory.
 */

// Load secret generated on postinst
include('/etc/phpmyadmin/blowfish_secret.inc.php');

// Load autoconf local config
include('config/config.inc.php');

// Load user's local config
include('/etc/phpmyadmin/config.inc.php');

// Set the default server if there is no defined
if (!isset($cfg['Servers'])) {
    $cfg['Servers'][1]['host'] = 'localhost';
}

// Set the default values for $cfg['Servers'] entries
for ($i=1; (!empty($cfg['Servers'][$i]['host']) || (isset($cfg['Servers'][$i]['connect_type']) && $cfg['Servers'][$i]['connect_type'] == 'socket')); $i++) {
    if (!isset($cfg['Servers'][$i]['host'])) {
        $cfg['Servers'][$i]['host'] = '';
    }
    if (!isset($cfg['Servers'][$i]['port'])) {
        $cfg['Servers'][$i]['port'] = '';
    }
    if (!isset($cfg['Servers'][$i]['socket'])) {
        $cfg['Servers'][$i]['socket'] = '';
    }
    if (!isset($cfg['Servers'][$i]['connect_type'])) {
        $cfg['Servers'][$i]['connect_type'] = 'tcp';
    }
    if (!isset($cfg['Servers'][$i]['extension'])) {
        $cfg['Servers'][$i]['extension'] = 'mysql';
    }
    if (!isset($cfg['Servers'][$i]['compress'])) {
        $cfg['Servers'][$i]['compress'] = FALSE;
    }
    if (!isset($cfg['Servers'][$i]['controluser'])) {
        $cfg['Servers'][$i]['controluser'] = '';
    }
    if (!isset($cfg['Servers'][$i]['controlpass'])) {
        $cfg['Servers'][$i]['controlpass'] = '';
    }
    if (!isset($cfg['Servers'][$i]['auth_type'])) {
        $cfg['Servers'][$i]['auth_type']  = 'cookie';
    }
    if (!isset($cfg['Servers'][$i]['user'])) {
        $cfg['Servers'][$i]['user'] = 'root';
    }
    if (!isset($cfg['Servers'][$i]['password'])) {
        $cfg['Servers'][$i]['password'] = '';
    }
    if (!isset($cfg['Servers'][$i]['only_db'])) {
        $cfg['Servers'][$i]['only_db'] = '';
    }
    if (!isset($cfg['Servers'][$i]['verbose'])) {
        $cfg['Servers'][$i]['verbose'] = '';
    }
    if (!isset($cfg['Servers'][$i]['pmadb'])) {
        $cfg['Servers'][$i]['pmadb'] = '';
    }
    if (!isset($cfg['Servers'][$i]['bookmarktable'])) {
        $cfg['Servers'][$i]['bookmarktable'] = '';
    }
    if (!isset($cfg['Servers'][$i]['relation'])) {
        $cfg['Servers'][$i]['relation'] = '';
    }
    if (!isset($cfg['Servers'][$i]['table_info'])) {
        $cfg['Servers'][$i]['table_info'] = '';
    }
    if (!isset($cfg['Servers'][$i]['table_coords'])) {
        $cfg['Servers'][$i]['table_coords'] = '';
    }
    if (!isset($cfg['Servers'][$i]['pdf_pages'])) {
        $cfg['Servers'][$i]['pdf_pages'] = '';
    }
    if (!isset($cfg['Servers'][$i]['column_info'])) {
        $cfg['Servers'][$i]['column_info'] = '';
    }
    if (!isset($cfg['Servers'][$i]['history'])) {
        $cfg['Servers'][$i]['history'] = '';
    }
    if (!isset($cfg['Servers'][$i]['verbose_check'])) {
        $cfg['Servers'][$i]['verbose_check'] = TRUE;
    }
    if (!isset($cfg['Servers'][$i]['AllowRoot'])) {
        $cfg['Servers'][$i]['AllowRoot'] = TRUE;
    }
    if (!isset($cfg['Servers'][$i]['AllowDeny'])) {
        $cfg['Servers'][$i]['AllowDeny'] = array ('order' => '',
                                                  'rules' => array());
    }
}

?>

Ma version : phpMyAdmin 2.8.2-Debian-0.2

Merci de l'aide.

Dernière modification par hyjCQj9J (Le 16/12/2006, à 12:13)


KDE : du vrai GUI qui sert tout en étant un vrai environnement de travail.
Sinon autant rester sous Ubuntu-server :)

Kubuntu, parce que je le vaux bien.

Hors ligne

#6 Le 16/12/2006, à 19:49

dexinou

Re : Droits mysql pour un utilisateur standard dans phpmyadmin

re-bonjour,
j'utilise la dernière version 2.9.1.1-all-languages et je ne connais pas la version pour ubuntu.
D'ailleurs je n'utilise que les derniers packages.
désolé je passe le relais...


Ubuntu 9.10 64bits ext4 ® Core 2 Duo
Unix..... il y a moins bien mais c'est plus cher.
Si t'as pas compris la réponse, pose mieux ta question.
Tutoriaux Linux, apache, pure-ftpd, bind, mysql, qmail...

Hors ligne