ALTER USER,您必须具有 ALTER USER 权限。
GRANTEES 子句
GRANTEES 子句的选项包括:
user— 指定该用户可以向其授予权限的用户。role— 指定该用户可以向其授予权限的角色。ANY— 该用户可以向任何人授予权限。这是默认设置。NONE— 该用户不能向任何人授予权限。
EXCEPT 表达式排除任意用户或角色。例如,ALTER USER user1 GRANTEES ANY EXCEPT user2。这表示,如果 user1 拥有一些通过 GRANT OPTION 授予的权限,它就能够将这些权限授予除 user2 之外的任何人。
示例
role1 和 role2 之外的所有已分配角色都设为默认角色:
john 账户对应的用户将其权限授予 jack 账户对应的用户:
- 较旧版本的 ClickHouse 可能不支持多种身份验证方法的语法。因此,如果 ClickHouse 服务器中存在此类用户,并且被降级到不支持该语法的版本,这些用户将无法再使用,某些与用户相关的操作也会失效。为了平稳降级,必须在降级前将所有用户都设置为只包含一种身份验证方法。或者,如果服务器未按正确流程完成降级,则应删除这些有问题的用户。
- 出于安全原因,
no_password不能与其他身份验证方法共存。 因此,无法ADD一个no_password身份验证方法。下面的查询将报错:
no_password,则必须使用下面的替换形式进行指定。
重置身份验证方法,并添加查询中指定的方法 (即使用前导 IDENTIFIED 且不带 ADD 关键字时的效果) :
VALID UNTIL 子句
YYYY-MM-DD [hh:mm:ss] [timezone] 格式。默认情况下,该参数等于 'infinity'。
VALID UNTIL 子句只能与身份验证方法一同指定,查询中未指定任何身份验证方法的情况除外。在这种情况下,VALID UNTIL 子句将应用于所有现有的身份验证方法。
示例:
ALTER USER name1 VALID UNTIL '2025-01-01'ALTER USER name1 VALID UNTIL '2025-01-01 12:00:00 UTC'ALTER USER name1 VALID UNTIL 'infinity'ALTER USER name1 IDENTIFIED WITH plaintext_password BY 'no_expiration', bcrypt_password BY 'expiration_set' VALID UNTIL'2025-01-01''