FirebirdSQL logo

ALTER USER

Назначение:

Изменение учётной записи пользователя Firebird.

Доступно в:

DSQL.

Синтаксис:
ALTER {USER username | CURRENT USER}
  [SET] [<user_option> [<user_option> ...]]
  [USING PLUGIN pluginname]
  [{GRANT | REVOKE} ADMIN ROLE]
  [TAGS ( <tag> [, <tag>  ...] )]

<user_option> ::=
    PASSWORD 'password'
  | FIRSTNAME 'firstname'
  | MIDDLENAME 'middlename'
  | LASTNAME 'lastname'
  | {ACTIVE | INACTIVE}

<tag> ::=
    tagname = 'string_value'
  | DROP tagname

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

Оператор ALTER USER изменяет данные учётной записи пользователя.В операторе ALTER USER должно присутствовать хотя бы одно из необязательных предложений.

Необязательное предложение PASSWORD задаёт новый пароль пользователя.

Необязательные предложения FIRSTNAME, MIDDLENAME и LASTNAME позволяют изменить дополнительные атрибуты пользователя, такие как имя пользователя (имя человека), отчество и фамилия соответственно.

Атрибут INACTIVE позволяет сделать учётную запись неактивной.Это удобно когда необходимо временно отключить учётную запись без её удаления.Атрибут ACTIVE позволяет вернуть неактивную учётную запись в активное состояние.Данная возможность доступна только при использовании Srp в качестве менеджера пользователей.

Необязательное предложение TAGS позволяет задать, изменить или удалить пользовательские атрибуты.Если в списке атрибутов, атрибута с заданным именем не было, то он будет добавлен, иначе его значение будет изменено.Атрибуты не указанные в списке не будут изменены.Для удаления пользовательского атрибута перед его именем в списке атрибутов необходимо указать ключевое слово DROP.Данная возможность доступна только при использовании Srp в качестве менеджера пользователей.

Предложение GRANT ADMIN ROLE предоставляет указанному пользователю привилегии роли RDB$ADMIN в текущей базе данных безопасности.Это позволяет указанному пользователю управлять учётными записями пользователей, но не даёт ему специальных полномочий в обычных базах данных.

Предложение REVOKE ADMIN ROLE отбирает у указанного пользователя привилегии роли RDB$ADMIN в текущей базе данных безопасности.Это запрещает указанному пользователю управлять учётными записями пользователей.

Необязательное предложение USING PLUGIN позволяет явно указывать какой плагин управления пользователями будет использован.По умолчанию используется тот плагин, который был указан первым в списке параметра UserManager в файле конфигурации firebird.conf.Допустимыми являются только значения, перечисленные в параметре UserManager.

Important
Важно:

Учтите что одноименные пользователи, созданные с помощью разных плагинов управления пользователями — это разные пользователи.Поэтому пользователя созданного с помощью одного плагина управления пользователями можно удалить или изменить, указав только тот же самый плагин.

Если требуется изменить свою учётную запись, то вместо указания имени текущего пользователя можно использовать ключевое слово CURRENT USER.

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

Модифицировать чужую учётную запись могут:

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

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

Свои собственные учётные записи могут изменять любые пользователи, однако это не относится к опциям {GRANT | REVOKE} ADMIN ROLE и атрибуту ACTIVE/INACTIVE для изменения которых необходимы административные привилегии.

Примеры ALTER USER

Example 1. Изменение пользователя и выдача ему привилегии управления пользователями.
ALTER USER bobby PASSWORD '67-UiT_G8'
GRANT ADMIN ROLE;
Example 2. Изменение пароля пользователя, созданного с помощью плагина управления пользователями Legacy_UserManager.
ALTER USER godzilla PASSWORD 'robot12'
USING PLUGIN Legacy_UserManager;
Example 3. Изменение дополнительных атрибутов своей учётной записи.
ALTER CURRENT USER
FIRSTNAME 'No_Jack'
LASTNAME 'Kennedy';
Example 4. Отключение учётной записи пользователя.
ALTER USER dan INACTIVE;
Example 5. Отбор привилегии управления пользователями у пользователя.
ALTER USER dumbbell
REVOKE ADMIN ROLE;
Example 6. Изменение пользовательских атрибутов своей учётной записи.
ALTER CURRENT USER
TAGS (BIRTHYEAR = '1971', DROP CITY);

Атрибуту BIRTHDAY будет установлено новое значение, а атрибут CITY будет удалён.

CREATE OR ALTER USER

Назначение

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

Доступно в

DSQL

Синтаксис
ALTER USER _username_
  [SET] [<user_option> [<user_option> ...]]
  [USING PLUGIN _pluginname_]
  [{GRANT | REVOKE} ADMIN ROLE]
  [TAGS ( <tag> [, <tag>  ...] )]

<user_option> ::=
    PASSWORD '_password_'
  | FIRSTNAME '_firstname_'
  | MIDDLENAME '_middlename_'
  | LASTNAME '_lastname_'
  | {ACTIVE | INACTIVE}

<tag> ::=
    _tagname_ = '_string_value_'
  | DROP _tagname_

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

Оператор CREATE OR ALTER USER создаёт новую или изменяет учётную запись.Если пользователя не существует, то он будет создан с использованием предложения CREATE USER.Если он уже существует, то он будет изменён, при этом существующие привилегии сохраняются.