openGauss 每日一练第四天

本文出处:https://www.modb.pro/db/193083

学习地址

https://www.modb.pro/course/133

学习目标

学习 openGauss 创建角色、修改角色属性、更改角色权限和删除角色 角色是用来管理权限的,从数据库安全的角度考虑,可以把所有的管理和操作权限划分到不同的角色上

课后作业

过程中使用\du 或\du+查看角色信息

1.创建角色 role1 为系统管理员, role2 指定生效日期, role3 具有 LOGIN 属性

SQL文本:

create role role1 sysadmin identified by 'role1_123';

create role role2 identified by 'role2_123' vaild begein '2021-11-11';

create role role3 login identified by 'role3_123';

\du+

omm=# create role role1 sysadmin identified by 'role1_123';

CREATE ROLE

omm=# create role role2 identified by 'role2_123' valid begin '2021-11-11';

CREATE ROLE

omm=# create role role3 login identified by 'role3_123';

CREATE ROLE

omm=# \du+

List of roles

Role name | Attributes | Member of | Description

-----------+------------------------------------------------------------------------------------------------------------------+-----------+-------------

lizi | Create role, Create DB, Replication, Administer audit, Sysadmin, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {} |

omm | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {} |

role1 | Cannot login, Sysadmin | {} |

role2 | Cannot login +| {} |

| Role valid begin 2021-11-11 00:00:00+08 | |

role3 | | {} |

omm=#

2.重命名 role1

SQL文本:

alter role role1 rename to role111;

\du+

omm=# alter role role1 rename to role111;

ALTER ROLE

omm=# \du+

List of roles

Role name | Attributes | Member of | Description

-----------+------------------------------------------------------------------------------------------------------------------+-----------+-------------

lizi | Create role, Create DB, Replication, Administer audit, Sysadmin, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {} |

omm | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {} |

role111 | Cannot login, Sysadmin | {} |

role2 | Cannot login +| {} |

| Role valid begin 2021-11-11 00:00:00+08 | |

role3 | | {} |

omm=#

3.修改 role2 密码

SQL文本:

alter role role2 identified by 'role2_456' replace 'role2_123'

或者

alter role role2 identified by 'role2_789';

omm=# alter role role2 identified by 'role2_456' replace 'role2_456';

ALTER ROLE

omm=# alter role role2 identified by 'role2_789';

ALTER ROLE

omm=# \du+

List of roles

Role name | Attributes | Member of | Description

-----------+------------------------------------------------------------------------------------------------------------------+-----------+-------------

lizi | Create role, Create DB, Replication, Administer audit, Sysadmin, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {} |

omm | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {} |

role111 | Cannot login, Sysadmin | {} |

role2 | Cannot login +| {} |

| Role valid begin 2021-11-11 00:00:00+08 | |

role3 | | {} |

omm=#

4.将 omm 权限授权给 role3,再回收 role3 的权限

SQL文本:

grant omm to role3;

\du+

revoke all privilege from role3;

\du+

omm=# grant omm to role3;

GRANT ROLE

omm=# \du+

List of roles

Role name | Attributes | Member of | Description

-----------+------------------------------------------------------------------------------------------------------------------+-----------+-------------

lizi | Create role, Create DB, Replication, Administer audit, Sysadmin, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {} |

omm | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {} |

role111 | Cannot login, Sysadmin | {} |

role2 | Cannot login +| {} |

| Role valid begin 2021-11-11 00:00:00+08 | |

role3 | | {omm} |

utest | | {} |

omm=# revoke all privilege from role3;

ALTER ROLE

omm=# \du+

List of roles

Role name | Attributes | Member of | Description

-----------+------------------------------------------------------------------------------------------------------------------+-----------+-------------

lizi | Create role, Create DB, Replication, Administer audit, Sysadmin, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {} |

omm | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {} |

role111 | Cannot login, Sysadmin | {} |

role2 | Cannot login +| {} |

| Role valid begin 2021-11-11 00:00:00+08 | |

role3 | | {omm} |

omm=#

5.删除所有创建角色

SQL文本:

drop role role1;

drop role role2;

drop role role3;

\du+

omm=# drop role role111;

DROP ROLE

omm=# drop role role2;

drop role role3;

DROP ROLE

omm=# drop role role3;

DROP ROLE

omm=# \du+

List of roles

Role name | Attributes | Member of | Description

-----------+------------------------------------------------------------------------------------------------------------------+-----------+-------------

lizi | Create role, Create DB, Replication, Administer audit, Sysadmin, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {} |

omm | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {} |

omm=#

openGauss每日一练第四天的更多相关文章

  1. javascript每日一练(四)——DOM二

    一.DOM的创建,插入,删除 createElement(标签名) appendChild(节点) insertBefore(节点,原有节点) removeChild(节点) <!doctype ...

  2. C语言每日小练(四)——勇者斗恶龙

    勇者斗恶龙 你的王国里有一条n个头的恶龙,你希望雇佣一些骑士把它杀死(砍掉全部的头). 村里有m个骑士能够雇佣.一个能力值为x的骑士能够砍掉恶龙一个致敬不超过x的头,且须要支付x个金币. 怎样雇佣骑士 ...

  3. CSS3每日一练之选择器-结构性伪类选择器

    <!DOCTYPE HTML> <html> <head> <meta charset="gb2312"> <title> ...

  4. WindowsAPI每日一练(2) 使用应用程序句柄

    WindowsAPI每日一练系列 :https://www.cnblogs.com/LexMoon/category/1246238.html WindowsAPI每日一练() WinMain Win ...

  5. WindowsAPI每日一练(1) MessageBoxA

    WindowsAPI每日一练系列 :https://www.cnblogs.com/LexMoon/category/1246238.html WindowsAPI每日一练(1) WinMain 要跟 ...

  6. Python 每日一练(3)

    引言 今天的每日一练,学习了一下用Python生成四位的图像验证码,就是我们常常在登录时见到的那种(#`O′) 思路分析 正如常见的那种图像验证码,它是由数字和字母的随机组合产生的,所以我们首先的第一 ...

  7. CSS3每日一练之内容处理-嵌套编号

    出处:http://www.w3cfuns.com/thread-5592229-1-17.html 1.大标题一   1.子标题   2.子标题   3.子标题2.大标题二   1.子标题   2. ...

  8. HTML5每日一练之progress标签的应用

    progress标签:从名字上来看,估计大家也能猜到这个标签是什么标签了,没错,他是一个进度条.在HTML5中我们终于可以不用模拟了. <progress id="W3Cfuns_pr ...

  9. HTML5每日一练之figure新标签的应用

    igure元素是一种元素的组合,可带有标题(可选).figure标签用来表示网页上一块独立的内容,将其从网页上移除后不会对网页上的其他内容产生影响.figure所表示的内容可以是图片.统计图或代码示例 ...

  10. HTML5每日一练之details展开收缩标签的应用

    details标签的出现,为我们带来了更好的用户体验,不必为这种收缩展开的效果再编写JS来实现.注:目前仅Chrome支持此标签. details有一个新增加的子标签——summary,当鼠标点击su ...

随机推荐

  1. 【Azure 环境】Azure CLI 获取Access Token的脚本实例

    问题描述 如何使用azure CLI命令获取到中国区的Access Token呢? 问题解答 首先,需要通过 az cloud set --name AzureChinaCloud 来设置登录中国区的 ...

  2. 【Azure Developer】Python代码获取的Token出现'Authentication_MissingOrMalformed'问题

    问题描述 Python 调用Azure AD中所注册的应用生成Token代码: import requests, json client_id = 'yourclientid' client_secr ...

  3. 如何提高UI自动化稳定性?

    1尽量使用相对路径的xpath表达式定位元素 2查找元素优先使用显示等待方式 3用例与用例之间避免产生依赖,用例可以单独运行 4用例执行结束之后要对测试场景进行还原,避免影响到其他用例的执行 5脚本执 ...

  4. 【技术积累】MySQL优化及进阶

    MySql优化及进阶 一.MySQL体系结构 连接层:是一些客户端和链接服务,包含本地sock 通信和大多数基于客户端/服务端工具实现的类似于 TCP/IP的通信 服务层:大多数的核心服务功能,如SQ ...

  5. zookeeper源码(10)node增删改查及监听

    本文将从leader处理器入手,详细分析node的增删改查流程及监听器原理. 回顾数据读写流程 leader ZookeeperServer.processPacket封装Request并提交给业务处 ...

  6. JS4-BOM浏览器对象类型

    什么是BOM 浏览器的顶级对象 页面加载事件以及注意事项 定时器函数 JS执行机制 页面跳转.刷新 history.navigator对象 什么是BOM 浏览器对象模型(Browser Object ...

  7. Zabbix6.0使用教程 (二)—zabbix6.0常用术语

    上一次我们已经详细介绍了zabbix6.0的新增功能,本篇我们来说说zabbix6.0常用的一些术语,这个对小伙伴日常使用zabbix的时候还是非常有用,建议大家收藏起来,话不多说,附上干货. 概览 ...

  8. C#中的JSON序列化方法

    在C#中的使用JSON序列化及反序列化时,推荐使用Json.NET--NET的流行高性能JSON框架,当然也可以使用.NET自带的 System.Text.Json(.NET5).DataContra ...

  9. JS(数组)

    一 数组的概念 问:之前学习的数据类型,只能存储一个值.如果我们想存储班级中所有学生的姓名,那么该如何存储呢?答:可以使用数组(Array).数组可以把一组相关的数据一起存放,并提供方便的访问(获取) ...

  10. MySQL系列:索引失效场景总结

    相关文章 数据库系列:MySQL慢查询分析和性能优化 数据库系列:MySQL索引优化总结(综合版) 数据库系列:高并发下的数据字段变更 数据库系列:覆盖索引和规避回表 数据库系列:数据库高可用及无损扩 ...