权限的授权于收回
授权: 授予与收回
sql中使用GRANT 和REVOKE语句分别向用户授予或收回对数据的操作权限。
1,GRANT
GRANT语句的一般格式为:
GRANT <权限>[,<权限>]…
on <对象类型><对象名>[,<对象类型><对象名>]…
to <用户>[,[用户]]…
[WITH GRANT OPTION];
其语义为:将对指定操作对象的指定操作权限授予指定用户。发出GRANT语句的可以是数据库管理员,也可以是该数据库对象创建者(即属主owner),还可以是已经拥有该权限的用户。接受权限的用户可以是一个或者多个具体用户,也可以是public,即全体用户。
如果指定了WITH GRANT OPTION子句,则获得某种权限的用户还可以把这种权限再授予其他用户。如果没有指定 ,则只能使用该权限,不能传播该权限。

【例子4.2】 把对student表和course表的全部操作权限授予用户u2和u3.
grant all privileges
on table student,course
to u2,u3;

【例子4.3】 把对表sc的查询权限授予所有用户。
grant select
on table sc
to public;
【例子4.4】 把对表sc的insert权限授予u5用户,并允许u5用户将权限再授予其他用户。
grant insert
on table sc
to u5
WITH GRANT OPTION;

2, REVOKE
收回用户的权限可以由数据库管理员或者其他授权者用REVOKE语句收回,
REVOKE语句一般的格式为:

REVOKE <权限>[,<权限>]…
on <对象类型><对象名>[,<对象类型><对象名>]…
from <用户>[,<用户>]…[cascade|restrict];
注:cascade | restrict 是联级收回权限,例如,如果要收回u1的权限,但是u1又将权限授予了u2,这种最后收回权限时需要在后面加联级收回否则会报错误,大部分关系数据库管理系统是采用cascade。
【例 4.8】 把用户u4修改学生学号的权限收回
REVOKE update(Sno)
on table student
from u4;

【例 4.9】 把用户u5对sc表的insert权限收回
REVOKE insert
on table sc
from u5 cascade;
注:采用cascade联级收回操作,是因为u5将insert权限再授予给了其他用户;当采用联级收回操作时,从u5这里获得过此权限的用户也会失去该权限;如果u6,u7还从其他用户处获得对sc表的insert权限,则他们任然具有此权限,系统只收回直接或间接从u5处获得的权限。

可见,用户可以“自主”地决定将数据的存取权限授予何人,决定是否也将“授权”的权限授予别人。因此称这样的存取控制是自主存取控制。

自主存取控制方法中-----------用户权限的“授权”与“收回”相关推荐

  1. 实用知识点梳理:网络操作系统、HTTPS、交换机中用户权限、路由器与集线器功能、HTTP2.0特性

    网络操作系统 网络操作系统的基本任务: 屏蔽本地资源与网络资源之间的差异: 为用户提供基本的网络服务功能: 管理网络系统的共享资源: 提供网络系统的安全服务. HTTPS 在HTTP跟TCP中间多了一 ...

  2. oracle怎么赋予系统权限,讲解Oracle系统中用户权限的赋予和查看

    在Oracle数据库系统中,用户权限分为两种(本文不涉及dba或oper的权限,只讲解普通用户的权限),分别是System Privilege系统权限和User Table Privilege用户数据 ...

  3. 交换机中用户权限级别

    交换机中用户权限级别? LEVEL 0(访问级):可以执行用于网络诊断等功能的命令.包括ping.tracert.telnet等命令,执行该级别命令的结果 不能被保存到配置文件中. LEVEL 1(监 ...

  4. MVC项目中用户权限的限制

    MVC项目中用户权限的限制 开发工具与关键技术: MVC 作者:姚智颖 撰写时间:2020/08/16 注释:下面以机订票系统中角色维护功能为例,设置其中不同级别的用户在整个系统中一些功能的访问权限. ...

  5. linux中用户的权限是什么,linux中用户权限设置与更改相关介绍(上)

    不管是在生活中还是在工作中,我们都会经常碰到关于电脑权限方面的一些问题.现在介绍一下在linux系统中关于如何设置和管理用户的权限问题,介绍基本但很重要的命令. 在Linux中,权限分为三大类:基本权 ...

  6. mysql中用户权限的授予_如何在MySQL中创建用户和授予权限

    如何创建MySQL用户并授予权限?为了实现良好的安全性,需要为每个应用程序创建单独的用户帐户,而不是root用户访问数据库.这将确保应用程序无法访问其他应用程序的数据库.因此需要mysql管理员(ro ...

  7. MongoDB3.x中用户权限

    1. 数据库用户角色:read.readWrite;    2. 数据库管理角色:dbAdmin.dbOwner.userAdmin:    3. 集群管理角色:clusterAdmin.cluste ...

  8. 本地安全组中用户权限中英文对照

    用户权限分配 或者直接去微软的网站上面翻译: https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-ser ...

  9. linux怎么切换为oracle用户权限,linux肿么给oracle中用户权限

    --//给用户授予权限 grant connect,resource to test; --//删除表空间 drop tablespace test_temp including CONTENTS a ...

最新文章

  1. c语言获取指针分配的字节数,c语言指针知识点总结(共6篇).docx
  2. 美国五大科技巨头的人工智能竞赛
  3. 关于Linux的虚拟内存管理
  4. 一天一种设计模式之六-----工厂方法模式
  5. #20071-[NOIP2020模拟赛B组Day6]礼物购买【二分】
  6. Spring中的Bean配置、属性配置、装配内容详细叙述
  7. 敏捷管理之绩效考核方案
  8. Linux伪终端怎么退出,什么是linux里的终端和伪终端
  9. 线程同步-事件内核对象
  10. Python abs函数 - Python零基础入门教程
  11. UEFI原理与编程(十):UEFI的基础服务-系统表
  12. java web 页面布局框架_jsp框架(jsp实现页面框架布局)
  13. 微信小程序——案例:收货信息表单
  14. matlab波形叠加,matlab程序两列波相向传播叠加波形图和动画.doc
  15. LeetCode刷题复盘笔记—一文搞懂509. 斐波那契数70. 爬楼梯以及递归时间复杂度计算方法(动态规划系列第一篇)
  16. 桌面快捷方式异常——左下角附有问号怎么办
  17. Codeforces Global Round 21) C. Fishingprince Plays With Array
  18. 敏捷教练的八种失败角色
  19. 信号与线性系统经典分析方法思维导图
  20. Android 仿微信点赞和评论弹出框

热门文章

  1. 如何用mac远程控制windows10
  2. 项目案例之GitLab的数据迁移
  3. GDPR合规|数据控制者与数据处理者区别大吗?分别承担什么法律责任?
  4. SpringBoot Zxing _ Java 生成二维码(可内嵌图片)
  5. mac 部署 ansible 记录
  6. ftp服务器文件传输,FTP服务器之间传输文件
  7. 《惢客创业日记》2021.05.16(周日)需要用钱吱一声
  8. html怎样给文字设置底纹,使用HTML和CSS来实现为文字设置图片底纹
  9. 利用http://www.forshare.me/qq/访问陌生人的QQ空间
  10. php mysql utf 8_PHP+MySQL中对UTF-8,UTF8(utf8),set names gbk 的理解