Précédent   Forum des professionnels en informatique > PHP > Outils > phpMyAdmin
phpMyAdmin Forum d'entraide sur l'outil phpMyAdmin : installation, utilisation, etc. Avant de poster -> Cours phpMyAdmin
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/02/2007, 04h16   #1
Membre éprouvé
 
Avatar de oceane751
 
Intégrateur Web
Inscription : novembre 2004
Messages : 988
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Intégrateur Web

Informations forums :
Inscription : novembre 2004
Messages : 988
Points : 434
Points : 434
Par défaut [Configuration] Mise en place d'une configuration multi-utilisateurs

bonjour à tous

j'essaye avec un peu de mal à creer un systeme de login/password afin d'acceder à Phpmyadmin

j'ai changé le pwd de root, et ça marche

par contre, lorsque que je créé un autre user (dans la table user) plus rien ne va.
j'arrive à me connecter avec le login là c ok , mais login + pwd, ça ne marche pas

voici les pages :

.htaccess
Code :
1
2
3
4
5
6
7
8
9
10
11
 
# Controle des l'acces aux utilisateurs
 
AuthUserFile "/home/.htpasswd"
 
AuthName Authentification 
AuthType Basic 
<Limit GET POST>
require user admin
 
</Limit>
.htpasswd
dans le config.inc.php j'ai bien X2:
Code :
1
2
3
4
 
$cfg['Servers'][$i]['auth_type']     = 'http';    
$cfg['Servers'][$i]['user']          = 'admin';      
$cfg['Servers'][$i]['password']      = 'admin';
j'ai crypté le pwd de admin (puisque celui de root est crypté et qu'avec ça marche) mais ça ne marche pas plus que si je ne l'avais pas crypté.

je ne comprends pas pourquoi avec le "admin" ça ne marche pas..
j'ai bien mis "admin" avec tous les privilèges, comme pour "root"

si quelqu'un pourrait m'aider ça serait vraiment gentil, car là je galère..

merci
oceane751 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2007, 10h56   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
La configuration multi-utilisateur (http ou cookie) est gérée par phpMyAdmin suivant les "utilisateurs déclarés" dans les tables de la base mysql et non à l'aide d'un fichier htpasswd. Les champs user et password du tableau de configuration sont réservés à une configuration mono-utilisateur (donc config). Pour les deux autres modes (http et cookie) il faut créer un utilisateur MySQL pour phpMyAdmin, avec accès partiel en lecture sur cette base, afin qu'il puisse procéder à la vérification de l'authentification.

Voici les requêtes qu'il faut effectuer pour créer cet utilisateur de contrôle :
Code sql :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
-- Création de l'utilisateur
GRANT USAGE ON mysql.* TO 'pma'@'localhost' IDENTIFIED BY 'mot_de_passe';
 
-- Définition de ses droits
GRANT SELECT ON mysql.db TO 'pma'@'localhost';
GRANT SELECT ON mysql.host TO 'pma'@'localhost';
GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv)
ON mysql.tables_priv TO 'pma'@'localhost';
 
-- MySQL >= 4.0.2
GRANT SELECT (
    Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
    Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv,
    File_priv, Grant_priv, References_priv, Index_priv, Alter_priv,
    Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv,
    Execute_priv, Repl_slave_priv, Repl_client_priv
) ON mysql.user TO 'pma'@'localhost';
 
-- MySQL < 4.0.2
/*GRANT SELECT (
    Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
    Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv,
    File_priv, Grant_priv, References_priv, Index_priv, Alter_priv
) ON mysql.user TO 'pma'@'localhost';*/

Ensuite dans la configuration de phpMyAdmin (config.inc.php), de mémoire, il s'agit plutôt de :
Code :
1
2
3
4
5
$cfg['Servers'][$i]['auth_type']     = 'http';    
$cfg['Servers'][$i]['user']          = '';
$cfg['Servers'][$i]['password']      = '';
$cfg['Servers'][$i]['controluser']          = 'pma'; # Login donné plus haut
$cfg['Servers'][$i]['controlpass']      = '*****'; # Son mot de passe
Ensuite vous pouvez créer tous les utilisateurs (MySQL) et bases que vous voulez.


Julp.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2007, 15h07   #3
Membre éprouvé
 
Avatar de oceane751
 
Intégrateur Web
Inscription : novembre 2004
Messages : 988
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Intégrateur Web

Informations forums :
Inscription : novembre 2004
Messages : 988
Points : 434
Points : 434
merci pour ta réponse
j'ai une erreur avec cette requete et je ne vois pas où est l'erreur :
Code :
1
2
 
GRANT  SELECT ( Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv ) ON mysql.user TO  'xxx'@localhost
les 2 autres requetes ont bien fonctionné
pour 'xxx'@localhost, yavé pa de '' autour de localhost

voici l'erreur :
#1064 - Erreur de syntaxe près de ''xxx'@localhost' à la ligne 1

grrrrrrrrrrrr
oceane751 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2007, 16h13   #4
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Aucune erreur de mon côté (testé avec MySQL 4.1.9 sous Windows). Quelle version utilisez-vous ? Comment exécutez-vous les requêtes ?

Notez, comme commentez ci-dessus, que la requête en question varie en fonction de la version de MySQL.


Julp.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2007, 16h18   #5
Membre éprouvé
 
Avatar de oceane751
 
Intégrateur Web
Inscription : novembre 2004
Messages : 988
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Intégrateur Web

Informations forums :
Inscription : novembre 2004
Messages : 988
Points : 434
Points : 434
je suis à la version 4.0.15
j'ai testé les 2 requetes mais ça ne marche po ... :s

j'execute els requetes avec phpmyadmin.

jvais le faire manuellement , jvais mettre 'Y' partout
oceane751 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2007, 16h26   #6
Membre éprouvé
 
Avatar de oceane751
 
Intégrateur Web
Inscription : novembre 2004
Messages : 988
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Intégrateur Web

Informations forums :
Inscription : novembre 2004
Messages : 988
Points : 434
Points : 434
c'est ok!!!
ça marche

alors du coup, d'avoir utiliser le .htaccess et .htpasswd, ça ne sert à rien?
oceane751 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2007, 16h48   #7
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Citation:
Envoyé par oceane751
alors du coup, d'avoir utiliser le .htaccess et .htpasswd, ça ne sert à rien?
C'est ce que j'essayais de vous expliquer plus haut () : pour une authentification utilisateur : non. phpMyAdmin intègre déjà cette fonctionnalité mais encore faut-il le configurer en mode multi-utilisateurs (ce que vous avez fait). Pour cela, il se base sur les utilisateurs MySQL pour procéder à l'authentification. Cela permet :
  • l'authentification de chaque utilisateur et de leur accorder des droits limités ou non (par rapport aux requêtes qu'ils peuvent exécuter, les bases/tables sur lesquelles peuvent être effectuées ces requêtes)
  • si quelqu'un arrive à lire le fichier de configuration de phpMyAdmin, les dégâts seront beaucoup plus limités (au mieux on ne donne qu'un accès en lecture aux tables liées aux utilisateurs)

Plus d'informations dans la doc.


Julp.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2007, 18h43   #8
Membre éprouvé
 
Avatar de oceane751
 
Intégrateur Web
Inscription : novembre 2004
Messages : 988
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Intégrateur Web

Informations forums :
Inscription : novembre 2004
Messages : 988
Points : 434
Points : 434
ok merci beaucoup pour toutes ces info

mas je voudrai savoir dans quel cas on utilise le .htaccess et .htpsswd?
quand on met son site sur internet?

merci encore
oceane751 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2007, 19h52   #9
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Citation:
Envoyé par oceane751
mas je voudrai savoir dans quel cas on utilise le .htaccess et .htpsswd?
Pour restreindre à l'aide d'une authentification l'accès à une partie d'un site. C'est un mécanisme très simple et facile à mettre en place mais présente de nombreuses "limites" : à maintenir tout d'abord, en terme de validité de l'identification dans le temps, (sécurité). Donc je dirais quand il y a peu d'utilisateurs, peu de maintenance à faire (ajout, suppression des utilisateurs, modifications des mots de passe, ...). Ceci dit on pourrait plus ou moins automatiser ces tâches par un script ou une application.

On peut implémenter assez rapidement un système plus évolué en PHP à l'aide des sessions et une gestion des utilisateurs en bases de données (inscription par eux-mêmes, modification du mot de passe et les gérer via une partie administrative, ...).

Il faut savoir qu'Apache peut aussi utiliser des bases de données ou annuaire pour gérer l'authentification (apparence identique à celle d'un htacces/htpasswd) à condition d'installer le module adéquat et de le configurer. Il est courant de recourir à cette méthode pour interfacer une base de données déjà existante à tout autre but.


Julp.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2007, 10h45   #10
Membre chevronné
 
Avatar de shkyo
 
Homme
Administrateur systèmes et réseaux - Développeur VB
Inscription : juin 2003
Messages : 607
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 38

Informations professionnelles :
Activité : Administrateur systèmes et réseaux - Développeur VB

Informations forums :
Inscription : juin 2003
Messages : 607
Points : 749
Points : 749
Citation:
Envoyé par julp
La configuration multi-utilisateur (http ou cookie) est gérée par phpMyAdmin suivant les "utilisateurs déclarés" dans les tables de la base mysql et non à l'aide d'un fichier htpasswd. Les champs user et password du tableau de configuration sont réservés à une configuration mono-utilisateur (donc config). Pour les deux autres modes (http et cookie) il faut créer un utilisateur MySQL pour phpMyAdmin, avec accès partiel en lecture sur cette base, afin qu'il puisse procéder à la vérification de l'authentification.

Voici les requêtes qu'il faut effectuer pour créer cet utilisateur de contrôle :
Code sql :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
-- Création de l'utilisateur
GRANT USAGE ON mysql.* TO 'pma'@'localhost' IDENTIFIED BY 'mot_de_passe';
 
-- Définition de ses droits
GRANT SELECT ON mysql.db TO 'pma'@'localhost';
GRANT SELECT ON mysql.host TO 'pma'@'localhost';
GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv)
ON mysql.tables_priv TO 'pma'@'localhost';
 
-- MySQL >= 4.0.2
GRANT SELECT (
    Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
    Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv,
    File_priv, Grant_priv, References_priv, Index_priv, Alter_priv,
    Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv,
    Execute_priv, Repl_slave_priv, Repl_client_priv
) ON mysql.user TO 'pma'@'localhost';
 
-- MySQL < 4.0.2
/*GRANT SELECT (
    Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
    Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv,
    File_priv, Grant_priv, References_priv, Index_priv, Alter_priv
) ON mysql.user TO 'pma'@'localhost';*/

Ensuite dans la configuration de phpMyAdmin (config.inc.php), de mémoire, il s'agit plutôt de :
Code :
1
2
3
4
5
$cfg['Servers'][$i]['auth_type']     = 'http';    
$cfg['Servers'][$i]['user']          = '';
$cfg['Servers'][$i]['password']      = '';
$cfg['Servers'][$i]['controluser']          = 'pma'; # Login donné plus haut
$cfg['Servers'][$i]['controlpass']      = '*****'; # Son mot de passe
Ensuite vous pouvez créer tous les utilisateurs (MySQL) et bases que vous voulez.


Julp.
Bonjour, je fais remonter ce vieux sujet car j'avais le même problème que ociane751, pour info j'utilise WAMP5 v1.6.6 sur Windows XP pro SP2

J'ai donc fais toutes ces manips, et cela fonctionne "un peu", c'est-à-dire sur mon PC où il y a les BD MySQL, quand je veux accéder à phpmyadmin (v2.9.0.1) il me demande bien un login/password et cela fonctionne, sachant que je me connecte en root, mais par contre quand je clique sur "exit", il me redemande un login/password et là il ne reconnaît plus personne !!

Et à distance, sur un autre PC du réseau, quand j'essaye d'accéder à phpmyadmin, j'ai directement : "Forbidden - you don't have permission to access /phpmyadmin/ on this server".

Voilà, merci d'avance pour vos réponses !
__________________
L'homme sage apprend de ses erreurs, l'homme plus sage apprend des erreurs des autres. - Confucius -

Si vous avez quelques minutes, passez donc voir mon site http://www.photospicsandco.com/ Envie de tee-shirts (et goodies!) originaux et sympa ? Visitez mon site... http://www.zazzle.com/shkyo30
shkyo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2007, 14h09   #11
Membre chevronné
 
Avatar de shkyo
 
Homme
Administrateur systèmes et réseaux - Développeur VB
Inscription : juin 2003
Messages : 607
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 38

Informations professionnelles :
Activité : Administrateur systèmes et réseaux - Développeur VB

Informations forums :
Inscription : juin 2003
Messages : 607
Points : 749
Points : 749
Petite précision de plus, en fait quand je suis en 'root' si je clique sur exit, dans les login/password, si je mets ceux de 'pma' ça marche, et inversement !!!

Décidement, ce n'est pas simple ce truc !!!
__________________
L'homme sage apprend de ses erreurs, l'homme plus sage apprend des erreurs des autres. - Confucius -

Si vous avez quelques minutes, passez donc voir mon site http://www.photospicsandco.com/ Envie de tee-shirts (et goodies!) originaux et sympa ? Visitez mon site... http://www.zazzle.com/shkyo30
shkyo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2007, 08h25   #12
Membre chevronné
 
Avatar de shkyo
 
Homme
Administrateur systèmes et réseaux - Développeur VB
Inscription : juin 2003
Messages : 607
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 38

Informations professionnelles :
Activité : Administrateur systèmes et réseaux - Développeur VB

Informations forums :
Inscription : juin 2003
Messages : 607
Points : 749
Points : 749
Citation:
Envoyé par shkyo
Petite précision de plus, en fait quand je suis en 'root' si je clique sur exit, dans les login/password, si je mets ceux de 'pma' ça marche, et inversement !!!

Décidement, ce n'est pas simple ce truc !!!
Après une journée de recherche, j'ai enfin trouvé !
Il y a un autre fichier à modifier c'est : C:\wamp\Apache2\conf\alias\phpmyadmin.conf

Dans lequel il faut remplacer : "Allow from 127.0.0.1" par "Allow from all" ...

Comme d'habitude, c'est toujours à cause d'une bricole au fin fond d'un fichier que cela déconne, c'est dingue !

Quand à l'histoire du "exit", il suffit de quitter le navigateur et c'est bon.
__________________
L'homme sage apprend de ses erreurs, l'homme plus sage apprend des erreurs des autres. - Confucius -

Si vous avez quelques minutes, passez donc voir mon site http://www.photospicsandco.com/ Envie de tee-shirts (et goodies!) originaux et sympa ? Visitez mon site... http://www.zazzle.com/shkyo30
shkyo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h24.


 
 
 
 
Partenaires

Hébergement Web