PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 Re : Général » Droits d'accès utilisateur » 13/03/2009 13:05:09

Merci Guillaume. Effectivement, il y avait une option mal configurée dans phpPgAdmin dans le config.inc.php : "only show owned databases".

Mais ça ne suffit pas : toto est quand même toujours envoyé sur template1 puisque c'est la base définie par défaut dans ce même fichier. Et vu notre mode de fonctionnement, on ne pourra pas changer ce paramètre de manière à ce que cela marche pour tous nos utilisateurs.
Nous avons donc dû modifier pg_hba.conf pour donner l'accès à tous à toutes les bases (donner l'accès à tous à template1 ne suffisait pas non plus : la connexion se faisait bien mais toto ne pouvait pas voir le contenu de la base toto).

Ainsi, toto ne voit bien que les bases dont il est propriétaire par l'intermédiaire de phpPgAdmin, même pas le nom des autres bases.
Par contre, en ligne de commande, il peut se connecter à toutes les bases...

Nous sommes restés sur ce paramètrage-là, ne voyant pas de solution permettant à la fois la bonne configuration de phpPgAdmin ET de la ligne de commande.

#2 Général » Droits d'accès utilisateur » 12/03/2009 16:42:58

postgresql_new
Réponses : 2

Bonjour,

Je dois mettre en place un serveur postgresql 8.1 mutualisé (un peu comme celui de free). Mon problème est que je n'arrive pas à autoriser un utilisateur, par exemple toto, à ne voir que sa base de données (nommée aussi toto) dans phpPgAdmin.

Voici ce que j'ai fait mais qui ne marche pas :

-bash-3.2$ createuser toto -P -D -A
Enter password FOR new role:
Enter it again:
Shall the new role be allowed TO CREATE more new roles? (y/n) n
CREATE ROLE
-bash-3.2$ createdb -O toto -E LATIN1 toto
CREATE DATABASE

et voici le contenu du fichier pg_hba.conf :

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
LOCAL   sameuser        ALL             md5
LOCAL   ALL             @admins         md5
L'utilisateur postgres (autrement dit l'administrateur) peut se logguer sans problème et voir toutes les bases de données mais lorsque j'essaye de me logguer avec l'utilisateur toto j'obtiens le message d'erreur suivant dans les logs de postgres :

FATAL:  no pg_hba.conf entry FOR host "[local]", user "toto", DATABASE "template1", SSL off

Après plusieurs tentatives de modification du fichier "pg_hba.conf" je n'arrive pas à trouver comment on peut faire pour que l'utilisateur "toto" puisse voir uniquement sa base de données "toto" comme le fait parfaitement le serveur postgresql de free...

Si vous avez une idée, je suis preneur.

Merci d'avance!

Pied de page des forums

Propulsé par FluxBB