#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
FILEStructure
CREATE
ALTER
INDEX
DROP
CREATE TEMPORARY TABLES
CREATE VIEW
SHOW VIEW
CREATE ROUTINE
ALTER ROUTINE
EXECUTEAdministration
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
DELETEStructure
CREATE
DROP
Énorme merki
(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