ALTER USER
Описание
Инструкция ALTER USER используется для изменения атрибутов учетной записи пользователя, включая пароли, политики паролей и т. д.
Синтаксис
ALTER USER [IF EXISTS] <user_identity> [IDENTIFIED BY <password>]
[<password_policy>]
[<comment>]
password_policy:
1. PASSWORD_HISTORY { <n> | DEFAULT }
2. PASSWORD_EXPIRE { DEFAULT | NEVER | INTERVAL <n> { DAY | HOUR | SECOND }}
3. FAILED_LOGIN_ATTEMPTS <n>
4. PASSWORD_LOCK_TIME { UNBOUNDED | <n> { DAY | HOUR | SECOND }}
5. ACCOUNT_UNLOCK
Обязательные параметры
1. <user_identity>
user_identity однозначно идентифицирует пользователя. Синтаксис: 'user_name'@'host'.
user_identityсостоит из двух частей: user_name и host, где user_name обозначает имя пользователя. Часть host задает адрес хоста, с которого подключается клиент. В части host можно использовать % для сопоставления по шаблону. Если хост не указан, по умолчанию используется '%', что позволяет пользователю подключаться к Doris с любого хоста. В части host также можно указать домен. Синтаксис: 'user_name'@['domain']. Даже если значение заключено в квадратные скобки, Doris будет считать его доменом и попытается определить его IP-адрес.
Необязательные параметры
1. <password>
Укажите пароль пользователя.
2. <password_policy>
password_policyзадает политики входа с аутентификацией по паролю. В настоящее время поддерживаются следующие политики:
PASSWORD_HISTORY { <n> | DEFAULT}Определяет, разрешено ли текущему пользователю повторно использовать прежние пароли при смене пароля. Например,
PASSWORD_HISTORY 10запрещает использовать любой из последних 10 паролей в качестве нового. Если заданоPASSWORD_HISTORY DEFAULT, используется значение глобальной переменнойpassword_history.0отключает эту возможность. Значение по умолчанию: 0.
PASSWORD_EXPIRE { DEFAULT | NEVER | INTERVAL <n> { DAY | HOUR | SECOND }}Задает срок действия пароля текущего пользователя. Например,
PASSWORD_EXPIRE INTERVAL 10 DAYозначает, что срок действия пароля истечет через 10 дней.PASSWORD_EXPIRE NEVERозначает, что срок действия пароля не ограничен. Если заданоPASSWORD_EXPIRE DEFAULT, используется значение глобальной переменнойdefault_password_lifetime. Значение по умолчанию: NEVER (или 0), то есть срок действия пароля не ограничен.
FAILED_LOGIN_ATTEMPTS <n>Если при входе текущий пользователь n раз укажет неверный пароль, учетная запись будет заблокирована. Например,
FAILED_LOGIN_ATTEMPTS 3означает, что учетная запись будет заблокирована после 3 неудачных попыток входа.
PASSWORD_LOCK_TIME { UNBOUNDED | <n> { DAY | HOUR | SECOND }}Задает продолжительность блокировки учетной записи. Например,
PASSWORD_LOCK_TIME 1 DAYозначает, что учетная запись будет заблокирована на один день.
ACCOUNT_UNLOCK
ACCOUNT_UNLOCKиспользуется для разблокировки пользователя.
3. <comment>
Укажите комментарий к учетной записи пользователя.
Требования к правам доступа
Пользователь, выполняющий эту команду SQL, должен обладать как минимум следующими привилегиями:
| Привилегия | Объект | Примечания |
|---|---|---|
| ADMIN_PRIV | USER или ROLE | Эту операцию могут выполнять только пользователи или роли с привилегией ADMIN_PRIV |
Примечания по использованию
Начиная с версии 4.1.5, только 'root'@'%' является специальной учетной записью root. Такая учетная запись, как 'root'@'localhost', остается обычным пользователем и не получает привилегий на изменение реальной учетной записи root только благодаря своему имени. Защита реальной учетной записи root также не распространяется на других пользователей с именем root.
-
Начиная с версии 2.0 эта команда больше не поддерживает изменение ролей пользователей. Для соответствующих операций используйте GRANT и REVOKE.
-
В команде ALTER USER за один раз можно изменить только один из следующих атрибутов учетной записи:
- Изменить пароль
- Изменить
PASSWORD_HISTORY - Изменить
PASSWORD_EXPIRE - Изменить
FAILED_LOGIN_ATTEMPTSиPASSWORD_LOCK_TIME - Разблокировать пользователей
Пример
Подготовка: создайте пользователя jack для использования в примерах ниже:
CREATE USER jack@'%' IDENTIFIED BY "12345";
- Изменить пароль пользователя
ALTER USER jack@'%' IDENTIFIED BY "12345";
- Изменить политику паролей пользователя
ALTER USER jack@'%' FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 1 DAY;
- Разблокировать пользователя
ALTER USER jack@'%' ACCOUNT_UNLOCK
- Изменить комментарий к учетной записи пользователя
ALTER USER jack@'%' COMMENT "this is my first user"