Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
J'ai un serveur avec plusieurs bases, disons base1 base2 et base3.
J'ai un role "anonyme" qui peut se connecter à une seule de ces bases : base1. Il n'a que des droits de select sur certains schemas. Mais le probleme c'est que si on se connecte au serveur via pgadmin par exemple avec ce role, on peut également voir les bases base2 et base3. Visuellement elles apparaissent dans les bases du serveur une fois ocnnecté, meme si le role anonyme n'y a pas accès, il les voit tout de meme. Est-ce possible de les cacher ?
Merci à vous,
Pierre.
Hors ligne
Non. L'utilisateur, à partir du moment où il a accès à une base, a accès à la table pg_database, qui contient la liste des bases. Ce qui fait que pgadmin les affiche…
Marc.
Hors ligne
ok, merci de ta réponse Marc.
Hors ligne
Désolé, j'ai pas mieux
Je ne connais aucun moyen de cacher une base.
Peut-être gleu, quand il passera dans la journée…
Marc.
Hors ligne
Je pense que la solution va être de clusteriser.
A ce sujet je vois deux pistes.
- Faire un initdb sur une nouvelle base qui accueillera base2 et base3. et faire un pgctl start dessus sur un port <> 5432.
- La deuxième solution que j'ai trouvé sur le web consiste à utiliser pg_creatcluster.
Vous conseilleriez quoi ?
Hors ligne
C'est la même chose. pg_createcluster est un outil qui n'existe que sur debian (et ubuntu par ricochet), et qui fait l'initdb à votre place.
Marc.
Hors ligne
ok merci
Hors ligne
hop c fait, la suite pg_* de debian est très pratique, jusque la je faisais tout salement à la main avec des initdb et des pgctl start dans des scripts d'init tous crades. Maintenant c'est bien tout au format debian, nickel.
Hors ligne
Reste la sempiternelle question du "qu'est-ce que ça peut bien faire que les utilisateurs voient les autres bases ?". Ceci dit, vous faites comme vous voulez. Deux points supplémentaires :
* il est possible de demander à pgadmin de cacher certaines bases (champ "DB restriction" d'un serveur)... cela étant dit, ça n'empêche pas les utilisateurs de lancer eux-mêmes la requête "SELECT * FROM pg_database" dans l'éditeur de requêtes
* si vous placez 15 instances sur le même serveur, vuos allez avoir plus de mal à configurer la mémoire pour chaque instance.
Guillaume.
Hors ligne
Reste la sempiternelle question du "qu'est-ce que ça peut bien faire que les utilisateurs voient les autres bases ?". Ceci dit, vous faites comme vous voulez. Deux points supplémentaires :
* il est possible de demander à pgadmin de cacher certaines bases (champ "DB restriction" d'un serveur)... cela étant dit, ça n'empêche pas les utilisateurs de lancer eux-mêmes la requête "SELECT * FROM pg_database" dans l'éditeur de requêtes
* si vous placez 15 instances sur le même serveur, vuos allez avoir plus de mal à configurer la mémoire pour chaque instance.
Car j'ai ouvert un serveur postgis au public avec un login anonyme/anonyme et sur le même serveur j'ai des bdds de mon entreprise, genre une base contacts. Je n'ai pas envie que des gens puissent être "tentés" par des actions de piratage à la vue des noms des bases entreprise. Donc j'aurais deux instances, ça me semble convenable, je n'ai pas de grosses sollicitations sur le sgbd.
hors sujet : mais si ça vous intéresse, voici une solution postgre avec une couche géographique postgis couplée à mapserver, phpmapscript et ajax/javascript :
http://irennes.net/cartogeo.php
la liste des couches stockées dans le serveur :
http://irennes.net/cartoservices.php
et un tuto pour expliquer comment se connecter à ce type de serveur depuis un SIG :
http://irennes.net/cartoservicesdoc.php
Bien à vous et merci de faire vivre la communauté postgre francophone
Pierre.
Dernière modification par peyo (20/05/2011 09:55:30)
Hors ligne
On voit même les champs libres
Plus sérieusement, pas mal du tout comme résultat.
Marc.
Hors ligne
Pages : 1