IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

Empêcher la création de table


Sujet :

PostgreSQL

  1. #1
    Membre chevronné Avatar de icer
    Inscrit en
    Janvier 2006
    Messages
    332
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 332
    Par défaut Empêcher la création de table
    Comment empêcher la créations de table par les utilsateurs ?

  2. #2
    Membre éclairé Avatar de soumou
    Inscrit en
    Juin 2005
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 208
    Par défaut
    Tu devras se documenter un peu sur les roles et les privilèges qu'on peut donner à chaque utilisateur d'une base de données. (Cours d'administration d'une BD) .

  3. #3
    Membre chevronné
    Avatar de bricecol
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 364
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    grant privileges on objet to utilisateur; --donner des droits
    grant insert,update on membre to bibi27; --exemple
     
    revoke privileges on objet to utilisateur; --enlever des droits
    revoke delete on membre to kiki; --exemple
    privilèges : select, insert, update, delete, ALL
    objet : une ou plusieurs relations (ou vues)
    utilisateur : un nom d'utilisateur, ou PUBLIC

  4. #4
    Membre chevronné Avatar de icer
    Inscrit en
    Janvier 2006
    Messages
    332
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 332
    Par défaut
    Trés intéressant, biensur! la documention !

    Suis-je bête !

    Et peut-être que je dois chercher aussi un peu sur Google...

    Tiens j'ai une meilleur idée : et si je poster sur un forum...

    J'ai pas été claire peut-être, désolé.

  5. #5
    Membre chevronné Avatar de icer
    Inscrit en
    Janvier 2006
    Messages
    332
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 332
    Par défaut
    Merci bricecol.

    Mais mon probléme est que je voudrais que les utilisateurs ne puissent pas créer de tables sur la base de données, qui se nomme postgres.

    J'ai tester le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    create user lecteur with password 'lecteur';
    revoke create on database postgres from lecteur;
    Ensuite je me logue en tant que 'lecteur' et je crée une table :

    Et la table se crée, ce que je ne veux pas...

    Comprens pas...

  6. #6
    Membre chevronné
    Avatar de bricecol
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 364
    Par défaut
    D'après ce que j'ai compris tu as donc plusieurs bases dont une postgres. Alors, je ne vois pas le problème. Comment un utilisateur pourrait-il créer une table dans la base postgres si tu utilise une autre. Il n'y a pas de lien entre les bases.

    Si j'ai rien compris, expliques moi mieux stp

  7. #7
    Membre chevronné Avatar de icer
    Inscrit en
    Janvier 2006
    Messages
    332
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 332
    Par défaut
    Non j'ai bien une seul base... je me suis mal exprimé.

    Mais ça y est j'ai résolu mon problème!

    En fait il faut supprimer le droit CREATE du schema avec la commande suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    revoke create on SCHEMA public from public;
    Ainsi tout les utilisateurs ne pourront plus créer des tables. (excepté ceux à qui on a donné le droit).

  8. #8
    Membre chevronné

    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 338
    Par défaut
    l'utilisateur postgres est le superutilisateur, utilisateur à ne pas alterer sous peine d'avoir une base PostgreSQL inutilisable.

    il faut d'abord crée un role (avec LOGIN) sinon l'utilisateur ne pourra pas s'y connecter et ensuite lui affectué ses droits.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. (VC++6 /C) Pb de création de table Paradox
    Par Vow dans le forum Paradox
    Réponses: 4
    Dernier message: 28/09/2004, 13h15
  2. Création de table MySQL
    Par dehbi dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 15/04/2004, 10h59
  3. Problème de création de table sous MySql
    Par ducamba dans le forum Requêtes
    Réponses: 2
    Dernier message: 21/06/2003, 09h59
  4. Création de table avec index
    Par Seb7 dans le forum Requêtes
    Réponses: 2
    Dernier message: 10/04/2003, 16h11
  5. Création multiple table paradox dans le code
    Par scarabee dans le forum C++Builder
    Réponses: 8
    Dernier message: 30/10/2002, 10h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo