打卡第四天,学习体会
今天主要学习数据库角色的相关操作,增、删、改及赋予角色相关权限和回收,顺道看了下官方对角色一些说明,角色是拥有数据库对象和权限的实体。在不同的环境中角色可以认为是一个用户,一个组或者兼顾两者,在非三权分立时,只有系统管理员和具有CREATEROLE属性的用户才能创建、修改或删除角色。三权分立下,只有初始用户和具有CREATEROLE属性的用户才能创建、修改或删除角色。
在实际操作角色时,有点感觉不一样的地方,创建角色需要指定密码,这点目前有点不是很理解,跟oracle有点不样,在这里先做下记号;
这里有个建议,gsql功能 能否支持失败的命令可以通过上下键查找到,有时只是因为缺少某个字或写错某个字母,就要重写,有点费时。
这里赋上相关创建角色的官方地址:https://opengauss.org/zh/docs/2.1.0/docs/Developerguide/CREATE-ROLE.html
这一练的一些命令:
\du或du+:查看所有角色信息,如后面跟上具体角色名则查看该角色信息;
课后作业
1.创建角色role1为系统管理员, role2指定生效日期, role3具有LOGIN属性
openGauss=# create role role1 sysadmin identified by 'test_123';
CREATE ROLE
openGauss=# create role role2 password 'test_123' valid begin '2021-12-06';
CREATE ROLE
openGauss=# create role role3 login password 'test_123';
CREATE ROLE
openGauss=#
openGauss=# \du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------------------------------------------------------------------------+-----------
omm | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {}
role1 | Cannot login, Sysadmin | {}
role2 | Cannot login +| {}
| Role valid begin 2021-12-06 00:00:00+08 |
role3 | 2.重命名role1
openGauss=# alter role role1 rename to role10;
ALTER ROLE
openGauss=# \du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------------------------------------------------------------------------+-----------
omm | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {}
role10 | Cannot login, Sysadmin | {}
role2 | Cannot login +| {}
| Role valid begin 2021-12-06 00:00:00+08 |
role3 | | {}
3.修改role2密码
openGauss=# alter role role2 identified by 'test@123' replace 'test_123';
ALTER ROLE
openGauss=# 4.将omm权限授权给role3,再回收role3的权限
openGauss=# grant omm to role3 with admin option;
GRANT ROLE
openGauss=# \du+ role3
List of roles
Role name | Attributes | Member of | Description
-----------+------------+-----------+-------------
role3 | | {omm} |
openGauss=# revoke all privilege from role3;
ALTER ROLE
openGauss=# \du+ role3
List of roles
Role name | Attributes | Member of | Description
-----------+------------+-----------+-------------
role3 | | {omm} |
5.删除所有创建角色
openGauss=# drop role role10;
DROP ROLE
openGauss=# drop role role2;
DROP ROLE
openGauss=# drop role role3;
DROP ROLE
openGauss=# \du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------------------------------------------------------------------------+-----------
omm | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {}
openGauss=# 最后修改时间:2021-12-09 21:28:48
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




