ITPub博客

首页 > 数据库 > > 管理用户及权限-创建用户并分配权限

管理用户及权限-创建用户并分配权限

作者:GaussDB_数据库 时间:2020-01-08 14:00:25 0 删除 编辑

操作步骤

  1. 以DBA身份登录GaussDB 100数据库。
    zsql
    conn omm/gaussdb_123@192.168.0.1:8000

    omm/gaussdb_123为安装后创建的系统管理员和其默认密码,192.168.0.1为CN所在的服务器IP地址,8000为连接的端口号。

  2. 创建用户。
    CREATE USER jessica IDENTIFIED BY gaussdb_123;
    设置用户名时,需要遵循以下规范:
    • 用户名不允许包含以下特殊字符:分号(;)、竖线(|)、反引号(`)、美元符($)、位运算( &)、大于号(>)、小于号(<)、双引号(")、单引号(')、感叹号(!)、空格和版权符号(©),即使用双引号或者反引号括起来也不行。
    • 若用户名包含以上禁止特殊字符以外的其他特殊字符时,必须用双引号("")或者反引号(``)括起来。
    • 用户名默认转成大写,双引号内前面的空格和tab键都会删除,实际不带空格。
    • 由于SYSDBA、CLSMGR为数据库关键字,这些名称的用户会登录不上数据库,建议用户不要创建该名称的用户。

    设置用户密码时,需要遵循如下规范:

    • 密码长度必须大于等于8个字符,小于等于64个字符。
    • 若密码不以单引号括起来,则密码首字符必须是字母、#号或下划线。
    • 密码不能与用户名或者用户名的倒序相同(校验时,不区分大小写)。
    • 密码只能包含以下4种类型,并且至少选取其中3种类型的组合。
      • 数字。
      • 小写字母。
      • 大写字母。
      • 空格或特殊字符(GaussDB 100支持的特殊字符列表,请参见下方的“特殊字符”表)。
    • 创建密码时,若密码中包含_#$以外的特殊字符或者空格,则密码须用单引号括起来。
    • 若创建的密码中包含特殊字符$,通过zsql连接数据库时密码在单引号里面$不需要使用\转义字符转义,密码不在单引号里面$需要使用\转义字符转义,否则会登录失败。
    • 若创建的密码中包含特殊字符空格,只能通过交互式登录。
    • 使用conn命令登录数据库密码段都认为是密码字符。
    • 使用zsql命令登录数据库密码字段使用单引号括起来。密码中不能出现单引号。
    表1 特殊字符

    编号

    字符

    编号

    字符

    编号

    字符

    编号

    字符

    1

    `

    9

    &

    17

    \

    25

    "

    2

    ~

    10

    *

    18

    |

    26

    ,

    3

    !

    11

    (

    19

    [

    27

    <

    4

    @

    12

    )

    20

    {

    28

    .

    5

    #

    13

    -

    21

    }

    29

    >

    6

    $

    14

    _

    22

    ]

    30

    /

    7

    %

    15

    =

    23

    :

    31

    ?

    8

    ^

    16

    +

    24

    '

    -

    -

  3. 给用户指定系统权限。
    GRANT CREATE SESSION TO Jessica;
    详细的用户权限,请参见《GaussDB 100 1.0.1 开发者指南(分布式)》中“语法参考 > SQL语法 > GRANT”章节“系统权限矩阵表”中的内容。

示例

  • 创建安全管理员Tom,并授予CREATE USER权限。
    CREATE USER Tom IDENTIFIED BY '1234@abc';
    GRANT CREATE USER TO Tom;
    创建具有表films的查询权限角色role_r,创建user_read用户并授予role_r角色的权限。
  • --创建表films
    CREATE TABLE films(
    id NUMBER(6) not null,
    ADDRESS VARCHAR(40),
    CITY VARCHAR(64)
    ) DISTRIBUTE BY HASH(id);
    --创建角色role_r
    CREATE ROLE role_r;
    --为角色role_r添加对表films的查询权限
    GRANT SELECT ON films TO role_r;
    --创建对象操作员user_read。
    CREATE USER user_read IDENTIFIED BY '1234@abc';
    ----将角色授予对象操作员user_read。
    GRANT ROLE_R TO user_read;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3118484/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-01-06

  • 博文量
    2907
  • 访问量
    19219