FirebirdSQL logo

Wer kann einen Benutzer erstellen

Um ein Benutzerkonto zu erstellen, muss der aktuelle Benutzer über

  • Administratorprivilegien in der Sicherheitsdatenbank

  • das Systemprivileg USER_MANAGEMENT in der Sicherheitsdatenbank.Benutzer mit der Systemberechtigung 'USER_MANAGEMENT' können die Administratorrolle weder erteilen noch entziehen.

CREATE USER-Beispiele

  1. Erstellen eines Benutzers mit dem Benutzernamen bigshot:

    CREATE USER bigshot PASSWORD 'buckshot';
  2. Erstellen eines Benutzers mit dem Legacy_UserManager-Benutzermanager-Plugin

    CREATE USER godzilla PASSWORD 'robot'
      USING PLUGIN Legacy_UserManager;
  3. Erstellen des Benutzers john mit benutzerdefinierten Attributen:

    CREATE USER john PASSWORD 'fYe_3Ksw'
      FIRSTNAME 'John' LASTNAME 'Doe'
      TAGS (BIRTHYEAR='1970', CITY='New York');
  4. Erstellen eines inaktiven Benutzers:

    CREATE USER john PASSWORD 'fYe_3Ksw'
      INACTIVE;
  5. Erstellen des Benutzers superuser mit Benutzerverwaltungsrechten:

    CREATE USER superuser PASSWORD 'kMn8Kjh'
    GRANT ADMIN ROLE;

docnext count = 8

ALTER USER

Verwendet für

Ändern eines Firebird-Benutzerkontos

Verfügbar in

DSQL

Syntax
ALTER {USER username | CURRENT USER}
  [SET] [<user_option> [<user_option> ...]]
  [TAGS (<user_var> [, <user_var> ...]]

<user_option> ::=
    PASSWORD 'password'
  | FIRSTNAME 'firstname'
  | MIDDLENAME 'middlename'
  | LASTNAME 'lastname'
  | {GRANT | REVOKE} ADMIN ROLE
  | {ACTIVE | INACTIVE}
  | USING PLUGIN plugin_name

<user_var> ::=
    tag_name = 'tag_value'
  | DROP tag_name

Vgl. [fblangref40-security-user-create-de] für Details der Anweisungsparameter.

Die ALTER USER-Anweisung ändert die Details im benannten Firebird-Benutzerkonto.Die ALTER USER-Anweisung muss mindestens eine der optionalen Klauseln außer USING PLUGIN enthalten.

Jeder Benutzer kann sein eigenes Konto ändern, mit der Ausnahme, dass nur ein Administrator "ADMIN ROLE GRANT/REVOKE" und "ACTIVE/INACTIVE" verwenden kann.

Alle Klauseln sind optional, aber mindestens eine andere als USING PLUGIN muss vorhanden sein:

  • Der Parameter 'PASSWORD' dient zum Ändern des Passworts für den Benutzer

  • FIRSTNAME, MIDDLENAME und LASTNAME aktualisieren diese optionalen Benutzereigenschaften, wie den Vornamen, zweiten Vornamen bzw. Nachnamen der Person

  • GRANT ADMIN ROLE gewährt dem Benutzer die Privilegien der RDB$ADMIN Rolle in der Sicherheitsdatenbank (security4.fdb) und ermöglicht es ihm, die Konten anderer Benutzer zu verwalten.Es gewährt dem Benutzer keine besonderen Privilegien in regulären Datenbanken.

  • REVOKE ADMIN ROLE entfernt den Administrator des Benutzers in der Sicherheitsdatenbank, die diesem Benutzer, sobald die Transaktion festgeschrieben ist, die Möglichkeit verweigert, Benutzerkonten außer seinem eigenen zu ändern

  • ACTIVE aktiviert ein deaktiviertes Konto (nicht unterstützt für Legacy_UserManager)

  • INACTIVE deaktiviert ein Konto (nicht unterstützt für Legacy_UserManager).Dies ist praktisch, um ein Konto vorübergehend zu deaktivieren, ohne es zu löschen.

  • USING PLUGIN gibt das zu verwendende Benutzermanager-Plugin an

  • TAGS kann verwendet werden, um zusätzliche benutzerdefinierte Attribute hinzuzufügen, zu aktualisieren oder zu entfernen (DROP) (nicht unterstützt für Legacy_UserManager).Nicht aufgeführte Attribute werden nicht geändert.

Vgl. [fblangref40-security-user-create-de] für weitere Details dieser Klausel.

Wenn Sie Ihr eigenes Konto ändern müssen, können Sie anstelle des Namens des aktuellen Benutzers die Klausel CURRENT USER verwenden.

Warning

Die Anweisung ALTER CURRENT USER folgt den normalen Regeln für die Auswahl des Benutzermanager-Plugins.Wenn der aktuelle Benutzer mit einem nicht standardmäßigen Benutzermanager-Plugin erstellt wurde, müssen die Benutzermanager-Plugins explizit USING PLUGIN plugin_name angeben, oder es wird eine Fehlermeldung ausgegeben, die anzeigt, dass der Benutzer nicht gefunden wurde.Wenn ein Benutzer mit demselben Namen für den Standardbenutzermanager vorhanden ist, ändern Sie stattdessen diesen Benutzer.

Note

Denken Sie daran, Ihre Arbeit festzuschreiben (mittels Commit), wenn Sie in einer Anwendung arbeiten, die DDL nicht automatisch festschreibt.

Wer kann einen Benutzer ändern?

Um das Konto eines anderen Benutzers zu ändern, muss der aktuelle Benutzer über

  • Administratorprivilegien in der Sicherheitsdatenbank

  • das Systemprivileg USER_MANAGEMENT in der SicherheitsdatenbankBenutzer mit der Systemberechtigung USER_MANAGEMENT können die Administratorrolle weder erteilen noch entziehen.

Jeder kann sein eigenes Konto ändern, mit Ausnahme der Optionen GRANT/REVOKE ADMIN ROLE und ACTIVE/INACTIVE, die zum Ändern Administratorrechte erfordern.

ALTER USER-Beispiele

  1. Ändern des Passworts für den Benutzer bobby und Erteilen von Benutzerverwaltungsrechten:

    ALTER USER bobby PASSWORD '67-UiT_G8'
    GRANT ADMIN ROLE;
  2. Bearbeiten der optionalen Eigenschaften (der Vor- und Nachnamen) des Benutzers dan:

    ALTER USER dan
    FIRSTNAME 'No_Jack'
    LASTNAME 'Kennedy';
  3. Entziehen der Benutzerverwaltungsberechtigungen des Benutzers Dumbbell:

    ALTER USER dumbbell
    DROP ADMIN ROLE;

CREATE OR ALTER USER

Verwendet für

Erstellen eines neuen oder Ändern eines bestehenden Firebird-Benutzerkontos

Verfügbar in

DSQL

Syntax
CREATE OR ALTER USER username
  [SET] [<user_option> [<user_option> ...]]
  [TAGS (<user_var> [, <user_var> ...]]

<user_option> ::=
    PASSWORD 'password'
  | FIRSTNAME 'firstname'
  | MIDDLENAME 'middlename'
  | LASTNAME 'lastname'
  | {GRANT | REVOKE} ADMIN ROLE
  | {ACTIVE | INACTIVE}
  | USING PLUGIN plugin_name

<user_var> ::=
    tag_name = 'tag_value'
  | DROP tag_name

Vgl. [fblangref40-security-user-create-de] and [fblangref40-security-user-alter-de] für Details der Anweisungsparameter.

Die Anweisung CREATE OR ALTER USER erstellt ein neues Firebird-Benutzerkonto oder ändert die Details des angegebenen.Wenn der Benutzer nicht existiert, wird er erstellt, als ob die Anweisung CREATE USER ausgeführt würde.Wenn der Benutzer bereits existiert, wird er so geändert, als ob die Anweisung ALTER USER ausgeführt würde.Die Anweisung CREATE OR ALTER USER muss mindestens eine der optionalen Klauseln außer USING PLUGIN enthalten.Wenn der Benutzer noch nicht existiert, ist die Klausel 'PASSWORD' erforderlich.

Note

Denken Sie daran, Ihre Arbeit festzuschreiben, wenn Sie in einer Anwendung arbeiten, die DDL nicht automatisch festschreibt.

CREATE OR ALTER USER-Beispiele

Erstellen oder Ändern eines Benutzers
CREATE OR ALTER USER john PASSWORD 'fYe_3Ksw'
FIRSTNAME 'John'
LASTNAME 'Doe'
INACTIVE;

DROP USER

Verwendet für

Löschen eines Firebird-Benutzerkontos

Verfügbar in

DSQL

Syntax
DROP USER username
  [USING PLUGIN plugin_name]
Table 1. DROP USER-Anweisungsparameter
Parameter Beschreibung

username

Benutzername

plugin_name

Name des Benutzermanager-Plugins

Die Anweisung DROP USER löscht ein Firebird-Benutzerkonto.

Die optionale USING PLUGIN-Klausel gibt explizit das User-Manager-Plugin an, das zum Löschen des Benutzers verwendet werden soll.Nur Plugins, die in der UserManager-Konfiguration für diese Datenbank aufgelistet sind (firebird.conf, oder überschrieben in databases.conf) sind gültig.Der Standardbenutzermanager (erster in der UserManager-Konfiguration) wird angewendet, wenn diese Klausel nicht angegeben wird.

Important

Benutzer mit demselben Namen, die mit verschiedenen Benutzermanager-Plugins erstellt wurden, sind unterschiedliche Objekte.Daher kann der Benutzer, der mit einem Benutzermanager-Plugin erstellt wurde, nur von demselben Plugin gelöscht werden.

Note

Denken Sie daran, Ihre Arbeit festzuschreiben, wenn Sie in einer Anwendung arbeiten, die DDL nicht automatisch festschreibt.

Wer kann einen Benutzer löschen?

Um einen Benutzer zu löschen, muss der aktuelle Benutzer über

  • Administratorprivilegien in der Sicherheitsdatenbank verfügen

  • das Systemprivileg USER_MANAGEMENT in der Sicherheitsdatenbank haben

DROP USER-Beispiele

  1. Benutzer bobby löschen:

    DROP USER bobby;
  2. Entfernen eines Benutzers, der mit dem Legacy_UserManager-Plugin erstellt wurde:

    DROP USER Godzilla
      USING PLUGIN Legacy_UserManager;