gewusst wie: anzeigen und festlegen der Benutzerrechte in firebird Datenbank
Ich habe versucht, aber alle Zeit, die nicht alle zur Anzeige und Einstellung der Benutzerrechte in firebird-Datenbanken. Ich verwendet ;
GSEC> Anzeige
aber nur die Benutzer angezeigt Namen. Ich möchte, um zu sehen, alle Rechte, und ich möchte, um Sie festzulegen. Können wir tun, wie diese option und-management ?
Grüße,
InformationsquelleAutor goGud | 2013-07-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Firebird
gsec
Dienstprogramm nur verwaltet Benutzer und deren Passwörter in der globalen Sicherheitsdatenbank (security2.fdb
in Firebird 2.0 und höher). Die Rechte der Benutzer verwaltet werden, die pro Datenbank (mit Ausnahme der Benutzer -SYSDBA
) und können nicht verwaltet werden, mitgsec
.Pro-Datenbank-user-Rechte-gesteuert durch die Festlegung von Rollen (Optional), zuweisen von rechten zu Rollen und/oder Benutzer und zuordnen von Rollen zu Benutzern in einer bestimmten Datenbank. Rechte, die einer Rolle zugeordnet sind, werden nur angewendet, wenn die Funktion angegeben ist, auf befestigen, sonst nur die user-Rechte gelten.
Vergabe der Rechte erfolgt mit
GRANT
undREVOKE
. Für details, überprüfen Sie die Firebird 2.5 Referenzhandbuch Kapitel Sicherheit und änderungen für Firebird 3 dokumentiert in der Firebird 3 release notes, und/oder die Interbase 6.0 Operations Guide, Kapitel 5 Datenbank-Sicherheit, Interbase 6.0-Sprachreferenz und Interbase 6.0 Data Definition Guide (beide downloadbare und von dem gleichen Ort wie der operations guide) und änderungen dokumentiert in der Firebird-Referenzhandbuch Update.Zur Anzeige der aktuellen Rechte in einer Datenbank, die Sie verwenden können, die
isql
tool, Befehlshow grants
. Sie müssen eine Verbindung zu der entsprechenden Datenbank, die Sie möchten, dass die Informationen für. Für andere Werkzeuge oder normalen client-verbindungen Sie benötigen für die Abfrage der Systemtabellen (speziellRDB$USER_PRIVILEGES
) selbst, oder verwenden Sie die Funktionen des Tools (zB Flamerobin können die Anzeige der Rechte).Wenn keine Rechte eingeräumt werden (was bedeutet, dass nur
SYSDBA
und der Datenbank Inhaber der Rechte), dieshow grants;
Ausgabe:Beispielsweise an ich habe Tabelle
ITEMS
und ich gewähreSELECT
Rechte zu einer RolleTESTROLE
, ist die Ausgabe:Wenn ich nun auch zuordnen von zusätzlichen
UPDATE
Rechte:Wenn Sie stattdessen eine Abfrage der system-Tabelle
RDB$USER_PRIVILEGES
sehen Sie die Liste unten (+ mehr Rechte für die DB-Besitzer):(Links aus der
RDB$
Präfix der Spalte, die Namen für die Kürze)RDB$USER
ist der name des Objekts, das die Rechte erhielt. Hier ist esTESTROLE
die eine Rolle (gekennzeichnet durch die SpalteRDB$USER_TYPE
Wert 13).RDB$GRANTOR
ist der Benutzer, der das Recht gewährt.RDB$PRIVILEGE
wird das Recht gewährt,S
:SELECT
U
:UPDATE
D
:DELETE
I
:INSERT
R
:REFERENCE
(für die Erstellung Fremdschlüssel, die sich auf die angegebene Tabelle (oder bestimmte Spalte))X
:EXECUTE
(für gespeicherte Prozeduren, vielleicht auch UDFs)RDB$GRANT_OPTION
:1
: Benutzer gewähren können, die Rechte an einen anderen Benutzer0
(manchmalNULL
), Benutzer nicht gewähren dieses RechtRDB$RELATION_NAME
: Name der Tabelle (oder einer anderen Datenbank-Objekt)RDB$FIELD_NAME
: Name der Spalte in einer Tabelle (NULL
Mittel Recht gewährt wird, die für alle Spalten)RDB$USER_TYPE
: Objekt-Typ derRDB$USER
Spalte (13
ist eine Rolle, die8
einen normalen Benutzer, andere Objekt-Typen sind ebenso möglich, wie zB die Gewährung von rechten für eine gespeicherte Prozedur)RDB$OBJECT_TYPE
: Objekt-Typ derRDB$RELATION_NAME
(zB 0: Beziehung, eine normale Tabelle).Eine vollständige Liste der Objekt-Typen erhalten Sie von
RDB$TYPES
(dies bedeutet nicht, dass Rechte gewährt werden können oder die für alle Objekt-Typen). Überprüfen Sie die Dokumentation für details.Werden mehr spezifische "nichts brauchbares" nicht wirklich helfen, mich zu finden, welche Informationen Sie vermissen,
Beigefügt habe ich ein Beispiel auf, wie Sie verwenden können
show grants
oder dieRDB$USER_PRIVILEGES
system-Tabelle.Hallo Mark, sorry für die nicht responde Sie. Vielen Dank für die Informationen.. Aber ich muss sehen, dass Rechte, die nicht Recht zuordnen. Ich möchte überprüfen, welche Benutzer welche Rechte haben.
Meine Antwort enthält, wie Sie können lookup-Rechte zugewiesen. Ich zeige auch, dass die Zuordnung zu veranschaulichen, wie Sie dargestellt werden, in Firebird ISQL und die
RDB$USER_PRIVILEGES
Tabelle.InformationsquelleAutor Mark Rotteveel
Den
gsec
- Dienstprogramm ermöglicht die Verwaltung von Benutzern, denen es erlaubt ist zu verbinden, um bestimmte Firebird server-Instanz. Dh es ermöglicht die Verwaltung der Benutzer-Liste Firebird-server erkennen würde (siehe gsec-Handbuch). Aber es erlaubt nicht, Sie zu verwalten, welcher Benutzer was tun darf, in einer bestimmten Datenbank. Für die Verwaltung der Benutzer-Rechte, insbesondere die Datenbank, die Sie verwenden sollten, - Rollen und -GRANT
undREVOKE
Aussagen.Ich schlage vor, Sie verwenden einige GUI-tool zur Verwaltung der Benutzerrechte, ie Flamerobin.
Wenn Sie meinen, Sie finden nicht die syntax dieser Befehle sehen dann Markieren Sie die Antwort, er postet den link zu dem IB-Handbuch, wo diese dokumentiert sind.
InformationsquelleAutor ain