Précédent   Forum des professionnels en informatique > Bases de données > Firebird > SQL
SQL Forum d'entraide sur le SQL pour Firebird
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/07/2011, 13h28   #1
Membre Expert
 
Homme AbdelHakim Kellouche
Inscription : mai 2008
Messages : 1 977
Détails du profil
Informations personnelles :
Nom : Homme AbdelHakim Kellouche
Localisation : Algérie

Informations professionnelles :
Secteur : Service public

Informations forums :
Inscription : mai 2008
Messages : 1 977
Points : 2 126
Points : 2 126
Envoyer un message via MSN à Just-Soft Envoyer un message via Skype™ à Just-Soft
Par défaut Problème avec des autorisations

Salut !

je viens de créer quelques utilisateurs pour ma base de données. Tout naturellement, j'ai créé un administrateur afin de me surpasser du fameux SYSDBA. Le code du grant pour un objet "centre" étant :

Code :
GRANT SELECT, INSERT, UPDATE, DELETE, REFERENCES ON TB_CENTRE TO KELLOUCHE WITH GRANT OPTION;
mais quand j'ai voulu ajouter un nouveau champ voici le code erreur que j'ai eu :

Citation:
---------- STATEMENT ----------
ALTER TABLE TB_CENTRE
ADD AZ SMALLINT

---------- ERROR MESSAGE ----------

This operation is not defined for system tables.
unsuccessful metadata update.
STORE RDB$RELATION_FIELDS failed.
no permission for control access to TABLE TB_CENTRE.
avec le SYSDBA ça passe très juste malgré que j'ai mis les mêmes droits pour l'autre administrateur ! quelque chose doit m'échapper, quoi au juste ? aucune idée . donc je me retourne vers vous comme d'habitude

Merci par avance.
__________________
Bon courage ou Bonne Chance (selon le contexte)
Just-Soft est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 14h00   #2
Membre Expert
 
Homme AbdelHakim Kellouche
Inscription : mai 2008
Messages : 1 977
Détails du profil
Informations personnelles :
Nom : Homme AbdelHakim Kellouche
Localisation : Algérie

Informations professionnelles :
Secteur : Service public

Informations forums :
Inscription : mai 2008
Messages : 1 977
Points : 2 126
Points : 2 126
Envoyer un message via MSN à Just-Soft Envoyer un message via Skype™ à Just-Soft
Re,

J'ai fais une petite recherche et j'ai réalisé qu'une base de données ne peut avoir, à la fois, qu'un seul propriétaire, donc j'ai fais un backup avec mon nouvel admin.

Jusqu'ici tout est clair mais à la modification de mon objet "centre" j'ai eu le même message comme si ma base de données ne reconnaissait pas son nouveau propriétaire ?!
__________________
Bon courage ou Bonne Chance (selon le contexte)
Just-Soft est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 10h24   #3
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
Le grant permet de donner des autorisations sur l'utilisation du contenu des objets. Mais ne donne pas les droits de modifier les objets.

En clair vous avez donné les droits de sélectionner, insérer, mettre a jour, effacer, et référencer le CONTENU de la table TB_CENTRE à l'utilisateur KELLOUCHE et celui ci peut transmettre ses droits à un autre.

En aucun cas cela lui donne les droits de modifier la structure de cette table.

Pour modifier la structure il faut être SYSDBA, le créateur de la base (owner) ou si vous avez firebird 2.5 avoir les droits d'utilisation du role RDB$ADMIN.
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 12h14   #4
Membre Expert
 
Homme AbdelHakim Kellouche
Inscription : mai 2008
Messages : 1 977
Détails du profil
Informations personnelles :
Nom : Homme AbdelHakim Kellouche
Localisation : Algérie

Informations professionnelles :
Secteur : Service public

Informations forums :
Inscription : mai 2008
Messages : 1 977
Points : 2 126
Points : 2 126
Envoyer un message via MSN à Just-Soft Envoyer un message via Skype™ à Just-Soft
Merci pour l'expli Barbibulle. Si j'ai bien compris le droit de modif est donné au propriétaire de la BD et c'est ce que j'ai fais. Un backup sur la BD avec KELLOUCHE comme propriétaire, je crois que par là j'ai passé les droits de modif à mon nouvel admin.

donc ce que je lis là
Citation:
Envoyé par Barbibulle Voir le message
Pour modifier la structure il faut être SYSDBA, le créateur de la base (owner) ou si vous avez firebird 2.5 avoir les droits d'utilisation du role RDB$ADMIN.
ne correspond pas à mon cas.
__________________
Bon courage ou Bonne Chance (selon le contexte)
Just-Soft est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 16h50   #5
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
Un simple backup/restaure ne permet pas de changer l'Owner de la base de données.

Il existe un utilitaire pour faire ca, mais à utiliser sans garantie !

Sinon l'autre solution consiste à créer une nouvelle base (en utilisant le bon utilisateur) dans lequel on recrée tous les objets puis on y transfert les données.

Pour connaitre le owner d'une base de données exécutez la requete :
Code :
1
2
3
SELECT DISTINCT RDB$OWNER_NAME AS DATABASE_OWNER
FROM RDB$RELATIONS
WHERE (RDB$SYSTEM_FLAG = 1);
sources :
http://blog.upscene.com/thomas/index...y080730-233217
http://www.firebirdfaq.org/faq108/
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 21h54   #6
Membre Expert
 
Homme AbdelHakim Kellouche
Inscription : mai 2008
Messages : 1 977
Détails du profil
Informations personnelles :
Nom : Homme AbdelHakim Kellouche
Localisation : Algérie

Informations professionnelles :
Secteur : Service public

Informations forums :
Inscription : mai 2008
Messages : 1 977
Points : 2 126
Points : 2 126
Envoyer un message via MSN à Just-Soft Envoyer un message via Skype™ à Just-Soft
Merci Barbibulle

je viens de faire. J'ai créé ma base de données et j'ai fais un petit test avec une table mais comme j'ai une vingtaine de tables, une vingtaine de vues et autant de PS sans compter les triggers et autres je me demande s'il n'existe pas un moyen de copier la totalité de la BD via un script ou un utilitaire de migration de données.

Merci encore pour les réponses et l'aide précieuse.
__________________
Bon courage ou Bonne Chance (selon le contexte)
Just-Soft est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 23h51   #7
Membre Expert
 
Homme AbdelHakim Kellouche
Inscription : mai 2008
Messages : 1 977
Détails du profil
Informations personnelles :
Nom : Homme AbdelHakim Kellouche
Localisation : Algérie

Informations professionnelles :
Secteur : Service public

Informations forums :
Inscription : mai 2008
Messages : 1 977
Points : 2 126
Points : 2 126
Envoyer un message via MSN à Just-Soft Envoyer un message via Skype™ à Just-Soft
J'ai réussis à peupler ma nouvelle BDD sous IBExpert à l'aide "Compareur de base de données" (même si compareur parait bizarre, je l'ai recopié tel quel depuis le menu de IBExpert )

A l'aide du script fourni par Barbibulle le owner de la BDD est bel est bien KELLOUCHE.

J'ai fais des tests de modification des structures de mes objets et tout passe bien mais quand j'ai voulu créé un nouvel utilisateur j'ai eu ce message d'erreur
Citation:
Error Message:
----------------------------------------
An error occurred while trying to update the security database.
An error occurred while attempting to add the user.
no permission for insert/write access to TABLE USERS.
de quoi s'agit-il ? comment puis-je ajouter des utilisateurs à ma nouvelle BDD ?

Touts mes remerciements par avance.
__________________
Bon courage ou Bonne Chance (selon le contexte)
Just-Soft est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 09h36   #8
Membre Expert
 
Homme AbdelHakim Kellouche
Inscription : mai 2008
Messages : 1 977
Détails du profil
Informations personnelles :
Nom : Homme AbdelHakim Kellouche
Localisation : Algérie

Informations professionnelles :
Secteur : Service public

Informations forums :
Inscription : mai 2008
Messages : 1 977
Points : 2 126
Points : 2 126
Envoyer un message via MSN à Just-Soft Envoyer un message via Skype™ à Just-Soft
Bonjour !

j'ai affiché les tables systèmes mais je trouve nullement la table USERS !
pour bien mener ma tâche j'ai copié les mêmes droits du SYSDBA sur les différentes tables systèmes pour mon nouvel admin mais toujours sans résultat avec le même message d'erreur
__________________
Bon courage ou Bonne Chance (selon le contexte)
Just-Soft est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 11h13   #9
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
De mémoire, sous firebird antérieur à 2.5 il n'y a que SYSDBA qui puisse ajouter des utilisateurs.

Il faut savoir que les utilisateurs ne sont pas gérés dans la base de données mais dans une base de données de sécurité propre à firebird.

Autrement dit quand on ajoute un utilisateur, c'est pour le serveur (indépendamment des bases de données). Sur les bases de données on ne fait que gérer les autorisations d'accès (soit directement sur un utilisateur soit sur un role (c'est même préférable)).
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 13h46   #10
Membre Expert
 
Homme AbdelHakim Kellouche
Inscription : mai 2008
Messages : 1 977
Détails du profil
Informations personnelles :
Nom : Homme AbdelHakim Kellouche
Localisation : Algérie

Informations professionnelles :
Secteur : Service public

Informations forums :
Inscription : mai 2008
Messages : 1 977
Points : 2 126
Points : 2 126
Envoyer un message via MSN à Just-Soft Envoyer un message via Skype™ à Just-Soft
Re,

ok, je reprends peut-être que je me suis pas fait comprendre.
en bref, je voudrais m'en passer du SYSDBA, pour ce faire ma stratégie est de créer un administrateur qui aura tout les droits que le SYSDBA. J'utilise FB 2.5, est-il possible de faire cette manipulation ?
__________________
Bon courage ou Bonne Chance (selon le contexte)
Just-Soft est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 15h22   #11
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
Citation:
Envoyé par Just-Soft Voir le message
J'utilise FB 2.5,
Ah il fallait commencer par ça :p

Donc pour vous il n'était pas nécessaire d'être le Owner de la base de données car depuis fb2.5 il existe un autre moyen.

Se connecter à la base de données avec SYSDBA et executer :
Code :
GRANT RDB$ADMIN TO KELLOUCHE;
KELLOUCHE a ainsi les droits de SYSDBA sur cette base. (Ne pas oublier lors de la connexion de KELLOUCHE d'utiliser le role RDB$ADMIN).

Si vous voulez que KELLOUCHE puisse créer de nouveaux user il faut qu'il ait les droits dans la base de sécurité de firebird.

Soit en se connectant à security2.fdb avec SYSDBA puis :
Code :
ALTER USER KELLOUCHE  GRANT ADMIN ROLE;
Soit avec l'outil gsec et le switch -admin YES
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 09h06   #12
Membre Expert
 
Homme AbdelHakim Kellouche
Inscription : mai 2008
Messages : 1 977
Détails du profil
Informations personnelles :
Nom : Homme AbdelHakim Kellouche
Localisation : Algérie

Informations professionnelles :
Secteur : Service public

Informations forums :
Inscription : mai 2008
Messages : 1 977
Points : 2 126
Points : 2 126
Envoyer un message via MSN à Just-Soft Envoyer un message via Skype™ à Just-Soft
Citation:
Envoyé par Barbibulle Voir le message
Ah il fallait commencer par ça :p

Donc pour vous il n'était pas nécessaire d'être le Owner de la base de données car depuis fb2.5 il existe un autre moyen.

Se connecter à la base de données avec SYSDBA et executer :
Code :
GRANT RDB$ADMIN TO KELLOUCHE;
KELLOUCHE a ainsi les droits de SYSDBA sur cette base. (Ne pas oublier lors de la connexion de KELLOUCHE d'utiliser le role RDB$ADMIN).

Si vous voulez que KELLOUCHE puisse créer de nouveaux user il faut qu'il ait les droits dans la base de sécurité de firebird.

Soit en se connectant à security2.fdb avec SYSDBA puis :
Code :
ALTER USER KELLOUCHE  GRANT ADMIN ROLE;
Soit avec l'outil gsec et le switch -admin YES
j'ai fais exactement comme décrit ci-haut mais j'ai toujours des problèmes de droits avec les autres utilisateurs que j'ai créé par le biais du SYSDBA.

Pour KELLOUCHE j'ai aucun problème tant que rdb$admin est spécifié je peux faire ce que je veux sur les objets de ma bdd.

mais pour les autres utilisateurs j'ai toujours cette erreur
Citation:
This operation is not defined for system tables.
unsuccessful metadata update.
ERASE RDB$PROCEDURE_PARAMETERS failed.
no permission for control access to PROCEDURE PR_ABH_RESEAU_ASSAINISSEMENT.
d'ailleurs ce qui est étonnant c'est qu'avec SYSDBA je vois les autres utilisateurs mais quand je me connecte avec KELLOUCHE je l'ai trouve plus sauf PUBLIC !!!

y'a t-il un tuto qui décrive l'opération de A à Z en clair ?

Encore merci.
__________________
Bon courage ou Bonne Chance (selon le contexte)
Just-Soft est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 13h12   #13
Inscrit
 
Inscription : mai 2004
Messages : 758
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 758
Points : 287
Points : 287
Citation:
Envoyé par Just-Soft Voir le message
y'a t-il un tuto qui décrive l'opération de A à Z en clair ?
ça serait vraiment idéal car aujourd'hui j'ai été obligé de créer ma propre stratégie de manière logicielle
devalender est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2011, 11h11   #14
Membre Expert
 
Homme AbdelHakim Kellouche
Inscription : mai 2008
Messages : 1 977
Détails du profil
Informations personnelles :
Nom : Homme AbdelHakim Kellouche
Localisation : Algérie

Informations professionnelles :
Secteur : Service public

Informations forums :
Inscription : mai 2008
Messages : 1 977
Points : 2 126
Points : 2 126
Envoyer un message via MSN à Just-Soft Envoyer un message via Skype™ à Just-Soft
Citation:
Envoyé par devalender Voir le message
ça serait vraiment idéal car aujourd'hui j'ai été obligé de créer ma propre stratégie de manière logicielle
Salut !
peux-tu donner plus de détails sur ta solution logicielle ?
__________________
Bon courage ou Bonne Chance (selon le contexte)
Just-Soft est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2011, 12h26   #15
Inscrit
 
Inscription : mai 2004
Messages : 758
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 758
Points : 287
Points : 287
je bosse avec windev j'ai juste changer le mot pass masterkey et créer au niveau logiciel une table dans laquelle se trouve mes users avec l'affectation des droits, privileges ... etc..
devalender est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2011, 13h07   #16
Membre Expert
 
Homme AbdelHakim Kellouche
Inscription : mai 2008
Messages : 1 977
Détails du profil
Informations personnelles :
Nom : Homme AbdelHakim Kellouche
Localisation : Algérie

Informations professionnelles :
Secteur : Service public

Informations forums :
Inscription : mai 2008
Messages : 1 977
Points : 2 126
Points : 2 126
Envoyer un message via MSN à Just-Soft Envoyer un message via Skype™ à Just-Soft
Citation:
Envoyé par devalender Voir le message
je bosse avec windev j'ai juste changer le mot pass masterkey et créer au niveau logiciel une table dans laquelle se trouve mes users avec l'affectation des droits, privileges ... etc..
ok merci. je maintiens toujours la solution gestion des utilisateurs et des droits au niveau du SGBDR mais je rame
__________________
Bon courage ou Bonne Chance (selon le contexte)
Just-Soft est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2011, 23h17   #17
Membre Expert
 
Homme AbdelHakim Kellouche
Inscription : mai 2008
Messages : 1 977
Détails du profil
Informations personnelles :
Nom : Homme AbdelHakim Kellouche
Localisation : Algérie

Informations professionnelles :
Secteur : Service public

Informations forums :
Inscription : mai 2008
Messages : 1 977
Points : 2 126
Points : 2 126
Envoyer un message via MSN à Just-Soft Envoyer un message via Skype™ à Just-Soft
Salut !
où se trouve le fichier security2.fdb car je le trouve nul part ?
__________________
Bon courage ou Bonne Chance (selon le contexte)
Just-Soft est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2011, 01h36   #18
Membre éclairé
 
Avatar de TryExceptEnd
 
Homme
Développeur informatique
Inscription : octobre 2006
Messages : 435
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2006
Messages : 435
Points : 347
Points : 347
Citation:
Envoyé par Just-Soft Voir le message
Salut !
où se trouve le fichier security2.fdb car je le trouve nul part ?
Pour Windows XP c'est ici :
C:\Program Files\Firebird\Firebird_2_5
__________________
Si vous êtes libre, choisissez le Logiciel Libre.
TryExceptEnd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2011, 06h15   #19
Membre Expert
 
Homme AbdelHakim Kellouche
Inscription : mai 2008
Messages : 1 977
Détails du profil
Informations personnelles :
Nom : Homme AbdelHakim Kellouche
Localisation : Algérie

Informations professionnelles :
Secteur : Service public

Informations forums :
Inscription : mai 2008
Messages : 1 977
Points : 2 126
Points : 2 126
Envoyer un message via MSN à Just-Soft Envoyer un message via Skype™ à Just-Soft
Citation:
Envoyé par TryExceptEnd Voir le message
Pour Windows XP c'est ici :
C:\Program Files\Firebird\Firebird_2_5
je crois que je dois voir un opticien ainsi que mon PC ! même avec l'outil recherche ça donne rien .....

merci TryExceptEnd
__________________
Bon courage ou Bonne Chance (selon le contexte)
Just-Soft est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2011, 10h24   #20
Membre Expert
 
Homme AbdelHakim Kellouche
Inscription : mai 2008
Messages : 1 977
Détails du profil
Informations personnelles :
Nom : Homme AbdelHakim Kellouche
Localisation : Algérie

Informations professionnelles :
Secteur : Service public

Informations forums :
Inscription : mai 2008
Messages : 1 977
Points : 2 126
Points : 2 126
Envoyer un message via MSN à Just-Soft Envoyer un message via Skype™ à Just-Soft
Citation:
Envoyé par Barbibulle Voir le message
Soit en se connectant à security2.fdb avec SYSDBA puis :
Code :
ALTER USER KELLOUCHE  GRANT ADMIN ROLE;
avec SYSDBA, j'ai l'erreur suivante :
Citation:
this user does not have privilege to perform this operation on this objetc
no permission for direct access to security database ........
__________________
Bon courage ou Bonne Chance (selon le contexte)
Just-Soft est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h01.


 
 
 
 
Partenaires

Hébergement Web