Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#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 :
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.
Julien.
https://rjuju.github.io/
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
Julien.
https://rjuju.github.io/
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