数据库安全--授权GRANT和回收REVOKE

1.

    GRANT <权限>
    ON <对象类型>  <对象名>
    TO <用户>
    [WITH GRANT OPTION]
     如果指定了WITH GRANT OPTION子句,则获得某种权限的用户还可以把这种权限再授予其他用户,允许用户传递权限,但是不允许循环授权。

例1:把查询Student表的权限授给用户U1

GRANT SELECT
ON TABLE Student
TO U1;

例2:把全部操作权限授予用户U2和U3

GRANT ALL PRIVILEGES
ON TABLE Student,Course
TO U2,U3;

例3:把查询权限授予所有用户

GRANT SELECT
ON TABLE SC
TO PUBLIC;

例5:把INSERT权限授予用户U5,并允许将此权限再授予其他用户

GRANT INSERT
ON TABLE SC
TO U5
WITH GRANT OPTION;

2.权限的收回 REVOKE

REVOKE <权限>
ON <对象类型>  <对象名>
FROM <用户>

例6:收回所有用户对表sc的查询权限

REVOKE SELECT
ON TABLE SC
FROM PUBLIC;

例7:收回用户U5的权限

REVOKE INSERT
ON TABLE SC
FROM U5 CASCADE;

将用户U5的权限收回时必须级联收回CASCADE.
3.对用户模式的授权则由DBA在创建用户时实现

CREATE USER <username>
[WITH] [DBA|RESOURCE|CONNECT]

只有系统的超级用户才有权创建一个新的数据库用户
新创建的用户有三种权限:DB,|RESOURCE,CONNECT
如果没有指定创建用户的权限,则默认该用户具有CONNECT权限。拥有CONNECT权限的用户不能创建新用户,不能创建模式,也不能创建基本表,只能登陆数据库
拥有RESOURCE权限的用户能创建基本表和视图,成为所创建对象的属主。但不能创建模式,不能创建新的用户。
拥有DBA权限的用户是系统的超级用户,基本拥有所有的权限。
4.数据库角色创建

CREATE ROLE <角色名>

5.给角色授权

GRANT <权限>
ON <对象类型>  对象名
TO <角色>

6.将一个角色授予其他的角色或用户

GRANT <角色1>
TO <角色3>
[WITH ADMIN OPTION]

如果指定了WITH ADMIN OPTION 子句,则获得某种权限的角色或用户还可以把这种权限再授予其他角色

7.角色权限的收回

REVOKE <权限>
ON <对象类型>  <对象名>
FROM <角色>

8.

CREATE ROLE R1;   创建角色

GRANT SELECT,UPDATE,INSERT
ON TABLE Student
TO R1;   授予角色R1权限

GRANT R1
TO 王敏,赵明;  将角色授予两人,则两人具有角色R1所包含的全部权限

REVOKE R1
FROM 赵明;   一次性收回赵明的所有权限
  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
关系型数据库管理系统 关系型数据库管理系统 1.关系型数据库管理系统的介绍 数据库管理系统(英⽂全拼:Relational Database Management System,简称RDBMS)是为了管理关系型 数据库⽽设计的软件系统,如果⼤家想要使⽤关系型数据库需要安装数据库管理系统,其实是⼀个应⽤ 软件。 关系型数据库管理系统可以分为: 关系型数据库服务端软件 关系型数据库客服端软件 关系型数据库服务端软件: 主要负责管理不同的数据库,⽽每个数据库⾥⾯会有⼀系列数据⽂件,数据⽂件是⽤来存储数据的,其实数据库就是⼀系列数据⽂件的集合。 关系型数据库客服端软件: 主要负责和关系型数据库服务端软件进⾏通信,向服务端传输数据或者从服务端获取数据。 说明: 1.⽤户操作关系型数据库克客户端,实现数据库相关操作。 2.关系数据库客户端借助⽹络使⽤SQL语⾔和关系型数据库服务端进⾏数据通信 3.关系型数据库服务端管理者不同的数据库,每个数据库会有⼀系列的数据⽂件,数据都保存在数据⽂件⾥卖弄,每个数据库可以理解成是 ⼀个⽂件夹。 2.SQL的介绍 SQL(Structured Query Language)是结构化查询语⾔,是⼀种⽤来操作RDBMS的数据库的语⾔。也就是说 通过SQL可以操作oracle,sql,server,mysql,sqlite等关系型的数据库。 SQL的作⽤是实现数据库客户端的数据库服务端之间的通信,SQL就是通信的桥梁。 SQL语⾔主要分别为: DQL:数据查询语⾔,⽤于对数据进⾏查询,如select DML:数据操作语⾔,对数据进⾏增加,修改,删除,如insert,update,delete TPL:事务处理语⾔,对事物进⾏处理,包括begin transaction,commit,rollback DCL:数据控制语⾔,进⾏授权权限回收,如grant,revoke DDL:数据定义语⾔,进⾏数据库,表的管理等,如creat,drop

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值