Примеры CREATE OR ALTER USER
CREATE OR ALTER USER john
PASSWORD 'fYe_3Ksw'
FIRSTNAME 'John'
LASTNAME 'Doe'
INACTIVE;
CREATE OR ALTER USER
CREATE OR ALTER USER john
PASSWORD 'fYe_3Ksw'
FIRSTNAME 'John'
LASTNAME 'Doe'
INACTIVE;
DROP USER
Удаление учётной записи пользователя Firebird
DSQL
DROP USER username [USING PLUGIN pluginname]
Параметр | Описание |
---|---|
username |
Имя пользователя. |
pluginname |
Имя плагина управления пользователями, в котором был создан данный пользователь. |
Оператор DROP USER
удаляет учётную запись пользователя Firebird.
Необязательное предложение USING PLUGIN
позволяет явно указывать какой плагин управления пользователями будет использован.По умолчанию используется тот плагин, который был указан первым в списке параметра UserManager
в файле конфигурации firebird.conf.Допустимыми являются только значения, перечисленные в параметре UserManager
.
Important
|
Учтите что одноименные пользователи, созданные с помощью разных плагинов управления пользователями — это разные пользователи.Поэтому пользователя созданного с помощью одного плагина управления пользователями можно удалить или изменить, указав только тот же самый плагин. |
SYSDBA
и другие пользователи являющиеся администраторами в базе данных безопасности (с ролью RDB$ADMIN
);
Пользователи вошедшие с ролью или получившие её привилегии (роль назначена по умолчанию), которой назначена системная привилегия USER_MANAGEMENT
.
DROP USER
DROP USER bobby;
Legacy_UserManager
.DROP USER Godzilla USING PLUGIN Legacy_UserManager;
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
RECREATE USER john PASSWORD 'fYe_3Ksw'
FIRSTNAME 'John'
LASTNAME 'Doe'
INACTIVE;
Для получения списка пользователей и их атрибутов вы можете воспользоваться виртуальными таблицами SEC$USERS
и SEC$USER_ATTRIBUTES
.
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