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 25/11/2020 12:38:51

Geo-x
Membre

Problème de droit - WARNING : no privileges were granted

Bonjour @ tous.

Je rencontre de grosses difficultés pour attribuer à un utilisateur le droit de création/modification de table et également au niveau de l'utilisation des fonctions, j'ai toujours ceci qui s'affiche lorsque j'essaie d'attribuer les droits :

WARNING:  no privileges were granted for "unaccent_init"
WARNING:  no privileges were granted for "unaccent_lexize"

J'ai contrôlé les droits du rôle qui me semblent bon :
201125110926711335.jpg
J'ai contrôlé les droits sur pg_database et j'ai ceci :

{group=CTc/group,monuser=c/group}

Lorsque je regarde sur pg_class sur une table cible pour contrôler, j'ai ceci :

{admin=a*r*w*d*D*x*t*/monuser=arwdDxt/admin}

De mon côté ce que je souhaite c'est que le user monuser puisse :
> utiliser les fonctions du schéma dans lequel elle a accès + le schéma public
> Créer ou modifier des tabes et des vues sur un schéma spécifique
Est-ce que vous auriez une idée de ce qui bloque ?

Merci d'avance de votre aide.
Geo-x

Dernière modification par Geo-x (25/11/2020 12:39:28)

Hors ligne

#2 25/11/2020 14:32:28

rjuju
Administrateur

Re : Problème de droit - WARNING : no privileges were granted

Le message indique que votre utilisateur n'a pas les droits suffisants pour donner des droits à un autre utilisateur.

Hors ligne

#3 25/11/2020 15:29:25

Geo-x
Membre

Re : Problème de droit - WARNING : no privileges were granted

Bonjour rjuju et merci de votre réponse.

Je vois le problème, comment pourrais-je faire pour visualiser les droits d'attribuer des droits (pas forcément table par table) ?

Hors ligne

#4 25/11/2020 18:22:14

rjuju
Administrateur

Re : Problème de droit - WARNING : no privileges were granted

Vous pouve utiliser la fonction aclexplode sur pg_class.relacl; qui vous donnera le détail.


Par exemple:

with s as (select aclexplode(relacl) acl from pg_class where relname = 'nomtable')
select (acl).grantor::regrole, (acl).grantee.regrole, (acl).privilege_type, (acl).is_grantable from s ;

Vous pouvez sinon utiliser la fonction has_table_privilege(), en précisant le droit voulu, par exemple "SELECT WITH GRANT OPTION", cf https://www.postgresql.org/docs/current … -info.html

Hors ligne

#5 25/11/2020 18:26:35

Geo-x
Membre

Re : Problème de droit - WARNING : no privileges were granted

Merci pour cette précieuse requête.
Cependant comme je vous disais je cherche à voir qui a les droits pour attribuer par exemple le droit de faire des ALTER (sans mauvais jeu de mot niveau muscu) ou bien qui a accès à des fonctions.
Là c'est plus compliqué puisque mon besoin est le suivant :
> utiliser les fonctions du schéma dans lequel elle a accès + le schéma public
> Créer ou modifier des tabes et des vues sur un schéma spécifique
Ce n'est peut-être pas possible en fait.

Hors ligne

#6 25/11/2020 22:50:45

gleu
Administrateur

Re : Problème de droit - WARNING : no privileges were granted

Pour faire des ALTER sur un objet, il faut être propriétaire de l'objet ou membre du propriétaire de l'objet.


Guillaume.

Hors ligne

#7 01/12/2020 11:28:02

Geo-x
Membre

Re : Problème de droit - WARNING : no privileges were granted

Bonjour Guillaume.

En effet en faisant un

GRANT ROLE user_proprietaire TO nouveau_user;

Ca fonctionne, sauf que maintenant nouveau_user a accès à beaucoup de choses, il ne me reste plus qu'à restreindre.

Hors ligne

#8 01/12/2020 12:07:16

Geo-x
Membre

Re : Problème de droit - WARNING : no privileges were granted

Ok c'est bon, pour information, j'ai attribué mon nouveau_user en tant que propriétaire sur les deux schémas à modifier.
De fait mon user_proprietaire historique qui hérite des droits du superuser, continue à pouvoir faire des ALTER sur ces mêmes schémas.
C'est donc une affaire résolu, merci beaucoup de votre précieuse aide.

Geo-x

Hors ligne

Pied de page des forums