自主存取控制方法中-----------用户权限的“授权”与“收回”
权限的授权于收回
授权: 授予与收回
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处获得的权限。
可见,用户可以“自主”地决定将数据的存取权限授予何人,决定是否也将“授权”的权限授予别人。因此称这样的存取控制是自主存取控制。
自主存取控制方法中-----------用户权限的“授权”与“收回”相关推荐
- 实用知识点梳理:网络操作系统、HTTPS、交换机中用户权限、路由器与集线器功能、HTTP2.0特性
网络操作系统 网络操作系统的基本任务: 屏蔽本地资源与网络资源之间的差异: 为用户提供基本的网络服务功能: 管理网络系统的共享资源: 提供网络系统的安全服务. HTTPS 在HTTP跟TCP中间多了一 ...
- oracle怎么赋予系统权限,讲解Oracle系统中用户权限的赋予和查看
在Oracle数据库系统中,用户权限分为两种(本文不涉及dba或oper的权限,只讲解普通用户的权限),分别是System Privilege系统权限和User Table Privilege用户数据 ...
- 交换机中用户权限级别
交换机中用户权限级别? LEVEL 0(访问级):可以执行用于网络诊断等功能的命令.包括ping.tracert.telnet等命令,执行该级别命令的结果 不能被保存到配置文件中. LEVEL 1(监 ...
- MVC项目中用户权限的限制
MVC项目中用户权限的限制 开发工具与关键技术: MVC 作者:姚智颖 撰写时间:2020/08/16 注释:下面以机订票系统中角色维护功能为例,设置其中不同级别的用户在整个系统中一些功能的访问权限. ...
- linux中用户的权限是什么,linux中用户权限设置与更改相关介绍(上)
不管是在生活中还是在工作中,我们都会经常碰到关于电脑权限方面的一些问题.现在介绍一下在linux系统中关于如何设置和管理用户的权限问题,介绍基本但很重要的命令. 在Linux中,权限分为三大类:基本权 ...
- mysql中用户权限的授予_如何在MySQL中创建用户和授予权限
如何创建MySQL用户并授予权限?为了实现良好的安全性,需要为每个应用程序创建单独的用户帐户,而不是root用户访问数据库.这将确保应用程序无法访问其他应用程序的数据库.因此需要mysql管理员(ro ...
- MongoDB3.x中用户权限
1. 数据库用户角色:read.readWrite; 2. 数据库管理角色:dbAdmin.dbOwner.userAdmin: 3. 集群管理角色:clusterAdmin.cluste ...
- 本地安全组中用户权限中英文对照
用户权限分配 或者直接去微软的网站上面翻译: https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-ser ...
- linux怎么切换为oracle用户权限,linux肿么给oracle中用户权限
--//给用户授予权限 grant connect,resource to test; --//删除表空间 drop tablespace test_temp including CONTENTS a ...
最新文章
- c语言获取指针分配的字节数,c语言指针知识点总结(共6篇).docx
- 美国五大科技巨头的人工智能竞赛
- 关于Linux的虚拟内存管理
- 一天一种设计模式之六-----工厂方法模式
- #20071-[NOIP2020模拟赛B组Day6]礼物购买【二分】
- Spring中的Bean配置、属性配置、装配内容详细叙述
- 敏捷管理之绩效考核方案
- Linux伪终端怎么退出,什么是linux里的终端和伪终端
- 线程同步-事件内核对象
- Python abs函数 - Python零基础入门教程
- UEFI原理与编程(十):UEFI的基础服务-系统表
- java web 页面布局框架_jsp框架(jsp实现页面框架布局)
- 微信小程序——案例:收货信息表单
- matlab波形叠加,matlab程序两列波相向传播叠加波形图和动画.doc
- LeetCode刷题复盘笔记—一文搞懂509. 斐波那契数70. 爬楼梯以及递归时间复杂度计算方法(动态规划系列第一篇)
- 桌面快捷方式异常——左下角附有问号怎么办
- Codeforces Global Round 21) C. Fishingprince Plays With Array
- 敏捷教练的八种失败角色
- 信号与线性系统经典分析方法思维导图
- Android 仿微信点赞和评论弹出框
热门文章
- 如何用mac远程控制windows10
- 项目案例之GitLab的数据迁移
- GDPR合规|数据控制者与数据处理者区别大吗?分别承担什么法律责任?
- SpringBoot Zxing _ Java 生成二维码(可内嵌图片)
- mac 部署 ansible 记录
- ftp服务器文件传输,FTP服务器之间传输文件
- 《惢客创业日记》2021.05.16(周日)需要用钱吱一声
- html怎样给文字设置底纹,使用HTML和CSS来实现为文字设置图片底纹
- 利用http://www.forshare.me/qq/访问陌生人的QQ空间
- php mysql utf 8_PHP+MySQL中对UTF-8,UTF8(utf8),set names gbk 的理解