Précédent   Forum du club des développeurs et IT Pro > Bases de données > Firebird > Administration
Administration Forum d'entraide sur les outils d'administration natifs pour Firebird: gbak, gfix, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 08/02/2011, 19h00   #1
paradise
Membre habitué
 
Inscription : juin 2002
Messages : 262
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 262
Points : 112
Points : 112
Par défaut DB et utilisateur

Bonjour,

Je lis ça et que SYSDBA n'est pas destiné à être propriétaire des bases, qu'il ne devrait jamais être utilisé etc...
Bon vu que je me suis plongé dans la gestion des users bien longtemps après la création de la base il est trop tard pour moi

J'aimerais donc maintenant :
1. créer un utilisateur "admin" qui remplace SYSDBA et ait tous les droits
2. transférer la "propriété" de la base à cet "admin"
3. créer un utilisateur "user" qui ait seulement un droit de consultation (SELECT sur toutes les tables)

J'ai commencé par le (3) mais vu que cette syntaxe ne fonctionne pas :
Code :
1
2
3
GRANT SELECT 
ON *
TO USER
.. y a-t'il un moyen de granter le select sur toutes les tables à la fois sans se les taper 1 par 1 ? Car les tables séparées de virgules ça ne passe pas non plus. Et j'en ai 94

Pour le (1) quelle est la façon de procéder la plus simple ? Peut-on dupliquer SYSDBA ?
Le (2) est-il possible ?

Du coup question pratique :
4. toute nouvelle base créée doit être précédée d'une création d'user ?

Merci de m'éclairer..
paradise est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 19h20   #2
paradise
Membre habitué
 
Inscription : juin 2002
Messages : 262
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 262
Points : 112
Points : 112
Bon j'ai trouvé ici pour le (3), qui n'est donc pas possible. Génial
paradise est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2011, 08h45   #3
makowski
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 260
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 50
Localisation : France

Informations professionnelles :
Activité : Consultant spécialité Firebird
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 2 260
Points : 3 582
Points : 3 582
Citation:
1. créer un utilisateur "admin" qui remplace SYSDBA et ait tous les droits
ben ça c'est simple, le propriétaire de la base est l'équivalent de SYSDBA pour la base
Citation:
2. transférer la "propriété" de la base à cet "admin"
changer le propriétaire d'une base est un peu plus pénible
le plus simple c'est créer une base vide puis y transferer les données
sinon un restore avec le user qui deviendra donc le propriétaire, mais dans ce cas il peut y avoir un peu de mémange à faire
cf http://blog.upscene.com/thomas/index...y080730-233217
http://www.firebirdfaq.org/faq108/
Citation:
3. créer un utilisateur "user" qui ait seulement un droit de consultation (SELECT sur toutes les tables)
ça c'est juste la création d'un utilisateur puis un ensemble de grant dans la base
DatabaseWorkbench à une option pour générer tous les grant très pratique
Citation:
4. toute nouvelle base créée doit être précédée d'une création d'user ?
oui, le user doit exister avant la base


PS depuis la 2.5 il y a d'autres possibilités avec RDB$ADMIN http://firebirdsql.org/rlsnotesh/rls...#rnfb25-prvlgs
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2011, 15h24   #4
paradise
Membre habitué
 
Inscription : juin 2002
Messages : 262
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 262
Points : 112
Points : 112
Merci pour ces précisisons.

Ma base appartient donc à SYSDBA, si je comprends bien après avoir créé un nouvel "admin" je peux soit :
1. lui transférer la propriété avec les méthodes que tu cites
2. recréer une base vide et y copier le contenu de la 1ère

J'ai commencé par tenter le (2) de cette manière (sous Database Workbench) :
> backup de la base "source"
> création nouvelle base
> restore de la source dans la nouvelle

A priori presque tout s'est bien passé ; je peux effectuer des requêtes mais quand je veux dérouler l'arborescence de tables ou de vues j'ai ce message d'erreur :
Citation:
Error while fetching metadata information for tables and/or views.

Error:

ISC ERROR CODE:335544565

ISC ERROR MESSAGE:
Cannot transliterate character between character sets
J'ai pourtant utilisé les mêmes charset, pagesize...
Qu'est-ce qui a pu foirer ?

Citation:
Envoyé par makowski
DatabaseWorkbench à une option pour générer tous les grant très pratique
Tu dois vouloir parler du "grant manager" malheureusement je n'ai que la version lite
paradise est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2011, 17h17   #5
paradise
Membre habitué
 
Inscription : juin 2002
Messages : 262
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 262
Points : 112
Points : 112
OK j'y suis arrivé avec IBExpert.

Mais bon je voulais faire ça dans un souci de sécuriser ma base (distribuée avec l'appli) et je découvre ceci alors....

Citation:
Once a person has physical access to a database file there is no effective way to prevent that user from reading all data (and metadata) within that file.

Je n'ai pas cherché la bonne solution dirait-on !
Merci quand même j'aurai appris des choses
paradise est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 20h47.


 
 
 
 
Partenaires

Hébergement Web