FirebirdSQL logo
 Аутентификация пользователяSQL привилегии 

Кто может удалить учётную запись пользователя?

  • SYSDBA и другие пользователи являющиеся администраторами в базе данных безопасности (с ролью RDB$ADMIN);

  • Пользователи вошедшие с ролью или получившие её привилегии (роль назначена по умолчанию), которой назначена системная привилегия USER_MANAGEMENT.

Примеры DROP USER

Example 1. Удаление пользователя.
DROP USER bobby;
Example 2. Удаление пользователя, созданного с помощью плагина управления пользователями Legacy_UserManager.
DROP USER Godzilla USING PLUGIN Legacy_UserManager;

docnext count = 3

RECREATE USER

Назначение

Создание новой учётной записи пользователя Firebird или пересоздание существующей.

Доступно в

DSQL

Синтаксис
RECREATE USER username
  PASSWORD 'password'
  [<user_option> [<user_option> ...]]
  [TAGS ( <tag> [, <tag>  ...] )]

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

<tag> ::=
  tagname = 'string_value'

Описание параметров оператора смотри в [fblangref-security-user-create].

Оператор RECREATE USER создаёт нового или пересоздаёт существующего пользователя.Если пользователь с таким именем уже существует, то оператор RECREATE TABLE удалить его и создаст нового.Существующие привилегии при этом будут сохранены.

Примеры RECREATE USER

Example 1. Создание или пересоздание пользователя.
RECREATE USER john PASSWORD 'fYe_3Ksw'
FIRSTNAME 'John'
LASTNAME 'Doe'
INACTIVE;

Получение списка пользователей

Для получения списка пользователей и их атрибутов вы можете воспользоваться виртуальными таблицами SEC$USERS и SEC$USER_ATTRIBUTES.

Example 1. Отображение списка пользователей и их атрибутов
SELECT
  CAST(U.SEC$USER_NAME AS CHAR(20)) AS LOGIN,
  CAST(A.SEC$KEY AS CHAR(10)) AS TAG,
  CAST(A.SEC$VALUE AS CHAR(20)) AS "VALUE",
  U.SEC$PLUGIN AS "PLUGIN"
FROM SEC$USERS U
  LEFT JOIN SEC$USER_ATTRIBUTES A
         ON U.SEC$USER_NAME = A.SEC$USER_NAME
        AND U.SEC$PLUGIN = A.SEC$PLUGIN;
   LOGIN                TAG        VALUE                PLUGIN
   ==================== ========== ==================== ==========================
   SYSDBA               <null>     <null>               Srp
   ALEX                 B          x                    Srp
   ALEX                 C          sample               Srp
   SYSDBA               <null>     <null>               Legacy_UserManager
Подробное описание виртуальных таблиц безопасности смотри в:

SEC$USERS, SEC$USER_ATTRIBUTES.