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. [C++] does not name a type

    从网上找到了以下几点 https://blog.csdn.net/fly20180712/article/details/88306008 1.没有加调用函数的头文件 2.不存在xxx命名空间 3.包 ...

  2. clickhouse快速上手和问题记录

    clickhouse官方中文社区实战经验:手把手教你搭建单机clickhouse开发环境 我是用的是centOS7的虚拟机, 官方教程中的:sudo /etc/init.d/clickhouse-se ...

  3. 尚硅谷Java 宋红康2023版 - 学习笔记

    尚硅谷Java 宋红康2023版 - 学习笔记 观看地址 https://www.bilibili.com/video/BV1PY411e7J6 60-IDEA开发工具-HelloWorld的编写与相 ...

  4. ECharts 中国地图 vue

    <template> <div> <div id="china_map_box"> <div id="china_map&quo ...

  5. 表单验证 validate 两种 一种是callback配合外部变量,当同步用。第2中是 then async await 这种 真正$api也适用

    validateFormRealProcessLeft () { let ret = false this.$refs.xxx.validate((valid) => { if (valid) ...

  6. pyecharts + Django你不知道这个架构有多美

    pyecharts + Django你不知道这个架构有多美 何为echarts?   pyecharts 是一个用于生成 Echarts 图表的类库.Echarts 是百度开源的一个数据可视化 JS ...

  7. Access注入-Cookie注入

    Access注入-Cookie注入 1.Cookie简单介绍 2.Cookie注入原理及方法 一.Cookie简单介绍 What is Cookie? 储存在用户本地终端上的数据 类型为"小 ...

  8. 关于初始化page入参的设计思路

    最近在重构老的代码,在写的过程中发现之前的逻辑如果遇到没有入参pageNo会Npe,于是乎我想找找公司项目有啥方式处理page入参的有两种如下 使用三元表达式直接判断是否null,然后赋值 使用map ...

  9. MyBatisPlus常用功能总结!(附项目示例)

    这篇主要是总结一下MybatisPlus一些常用的场景,目前主要有以下几点: 完整的CURD操作示例 逻辑删除功能示例 自动填充功能示例 分页插件功能示例 有关一些其它重要的功能比如 条件生成器.主键 ...

  10. 直播预约 | 邀您共同探讨“云XR技术如何改变元宇宙的虚拟体验”

    随着数字化时代的到来,元宇宙成为了人们关注的焦点.它是一个虚拟的世界,融合了现实与虚拟的元素,让人们可以以全新的方式进行交互.创作和体验. 云XR技术是元宇宙建设的重要支撑技术之一,元宇宙需要具备高度 ...