Retourner aux forums || Retourner au forum Programmation.SQL
Programmation.SQL : PostgreSQL : droits des utilisateurs.
Posté par Obsidian () le 02 mars 2007Bon, c'est une question tellement bête que j'ai honte de la poser, mais je n'ai pas encore réussi à m'en sortir :je n'arrive pas à empêcher un utilisateur donné de créer des tables dans une base qui n'est pas la sienne.
Il va sans dire que j'ai essayé REVOKE dans tous les sens, sans beaucoup de succès (REVOKE CREATE et REVOKE ALL PRIVILEGES sur DATABASE xxx, TABLESPACE xxx , sans succès).
Je suis tombé sur ce commentaire :
http://archives.postgresql.org/pgsql-admin/2000-06/msg00133.(...)
Mais il date du Juin 2000, il y a presque sept ans. J'imagine que la situation a évolué depuis, non ? Pourtant tous mes utilisateurs sont identifiés correctement à l'entrée (et doivent le faire, comprendre que je n'ai pas laissé "trust" dans pg_hba.conf). Je gère différents tablespaces, j'ai réglé les variables correctement (il me semble) pour tous les comptes, notamment search_path pour les schémas, etc. et pour l'instant, aucun utilisateur ne fait partie d'un ROLE donné.
Actuellement, je ne travaille qu'au travers de psql.
Qu'est-ce que j'ai oublié ?
Merci à tous.
> Lire le message (3 commentaires, moyenne: 3,3).
pg_hba.conf
pg_hba.conf, c'est pour l'authentification, établir l'identité des utilisateurs. Si tu n'as pas de trust mais des méthodes sures (md5, ident sameuser, etc) ça empêche n'importe qui de se faire passer pour quelqu'un d'autre.
Maintenant, si tu veux restreindre l'accès à un seul utilisateur, tu peux le faire soit dans hba soit en grant/revoke connect.
Sinon, GRANT/REVOKE sur ce qu'il faut.
Mais juste comme ça, tes gars, ils sont pas superuser par hasard ?
-
[^]Re: pg_hba.conf
Posté par Obsidian () le 02/03/2007 à 15:55. (lien). Évalué à 2.Bonsoir,
Maintenant, si tu veux restreindre l'accès à un seul utilisateur, tu peux le faire soit dans hba soit en grant/revoke connect.
Sinon, GRANT/REVOKE sur ce qu'il faut.
Mais ça, comme précisé, j'ai déjà essayé.
Mais juste comme ça, tes gars, ils sont pas superuser par hasard ?
Hélas non ! Je savais bien que j'avais oublié de préciser quelque chose d'ailleurs :-) Rien de tout ça. Mes users sont très ordinaires. Un \du+ et un SELECT * FROM pg_role; confirment ce fait.
Pas non plus de role par défaut, ni de variables précises. Je ne comprend pas.
Personne à part moi ne rencontre ce problème ?-
[^]**** Résolu ****
Posté par Obsidian () le 05/03/2007 à 17:45. (lien). Évalué à 4.Bon, ok.
Je suis tombé sur une entrée de forum dans laquelle quelqu'un explique que GRANT/REVOKE CREATE ON DATABASE ... ne concerne que le droit de créer des schémas.
Il faut donc ensuite appliquer des GRANT/REVOKE sur les différents schémas éventuels, à commencer par "public".
C'est bon à savoir, et ça gagnerait à être développé un peu plus explicitement dans le manuel.
-
Revenir en haut de page || Retourner aux forums || Retourner au forum Programmation.SQL



Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.