一、实验目的:

  1. 理解自主存取控制和视图机制在数据库安全性中的应用;

  2. 熟练掌握用户管理、授予权限、收回权限的SQL语句,并验证其有效性;

  3. 理解角色的作用,能够区分角色和用户。

二、实验内容:

针对不同用户对学生选课数据库的不同权限要求,完成以下实验内容。

  1. 创建用户。掌握创建用户的语法结构,根据题目要求运用相关SQL语句创建必要的用户。

  2. 创建视图。根据题目要求,创建针对特定数据的视图。

  3. 权限授予和收回。理解和掌握GRANT和REVOKE语法结构的各个组成成分,结合用户和角色管理,分别设计不同的存取权限语句,并调试成功。

  4. 结合应用需求,理解角色的作用和角色管理的相关操作。

三、实验过程:

1、题目要求:

1.数据库:学生选课数据库
2.数据表:学生表 student、课程表 course、选课表 SC
3.用户:admin、stu、teacher、
4.权限要求:
说明:
(1)admin 用户拥有对数据库的所有操作权限,且能够为其他用户授予权限。
(2)teacher 用户在 student 表上只能查看 Sno、Sname、Ssex 和 Sdept 字段。
(2)学生不能更新 Sno 和院系字段。
(3)teacher 在 SC 表上只能更新 grade 字段。

2、在学生选课数据库的基础上,按以下要求完成权限设置。

1、使用 root 账号登录,创建用户 stu、teacher 和 amdin,密码为123:

create user 'stu'@'localhost' identified by '123';create user 'teacher'@'localhost' identified by '123';create user 'admin'@'localhost' identified by '123' with grant option;

新创建的用户可登录mysql,但无权限查看stu_course数据库。

2、根据表格要求及说明为用户设置相应的权限,并在设置完成后,测试设置的有效性。

①设置 admin 的权限:

grant all privileges
on student,course,SC to 'u1'@'localhost'
with grant option

②设置 stu 的权限:

grant select
on student,course,SC to'stu'@'localhost';grant update
on student to'stu'@'localhost';grant insert
on SC to'stu'@'localhost';

③设置 teacher 的权限:

grant select on student,course,SC to 'teacher'@'localhost';grant update on SC(grade) to 'teacher'@'localhost';

3、创建用户 u1 和 u2,通过 admin 用户为 u1 授予 student 表上的 insert 权限,并允许 u1为其他用户授予该权限。

create user 'u1'@'localhost' identified by '123';create user 'u2'@'localhost' identified by '123';
grant insert
on student to 'u1'@'localhost';
with grant option

4、通过 u1 用户为 u2 用户授予 student 表上的 insert 权限。

grant insert
on student to 'u2'@'localhost';

5、收回 u1 在 student 表上的 insert 权限,验证 u1 和 u2 的权限变化。

revoke insert
on student to 'u1'@'localhost';

默认会级联收回权限。

数据库系统(三)——数据库安全性控制相关推荐

  1. 数据库系统概论——数据库安全性控制

    数据库系统概论--数据库安全性控制 层层设置 系统根据用户标识鉴别用户,只允许合法用户进入计算机系统 数据库管理系统进行存取控制,只允许用户合法操作 操作系统自身有保护措施 数据以密码形式存储到数据库 ...

  2. 【数据库系统】数据库安全性控制

    数据库安全性控制的常用方法: 用户标识和鉴定 存取控制:自主存取控制和强制存储控制 (定义用户权限,并将用户权限登记到数据字典中 分为自主存取控制和强制存取控制) 视图技术 审计技术 数据加密存储和加 ...

  3. 数据库安全性 --- 控制

    数据库安全性控制 一.用户身份鉴别(Identification & Authentication) 二.存取控制 三.自主存取控制方法 四.授权:授予与回收 1.GRANT: 2.REVOK ...

  4. 数据库安全性控制(授权:授予与收回)

    数据库安全性控制章节敲代码准备工作: 1.更改认证方式,重启sql服务. 2.创建登录名.(安全性-登录名-新建登录名) 3.某个数据库安全性下创建用户. 4.连接. grant语句向用户授予权限,r ...

  5. (数据库系统概论|王珊)第四章数据库安全性-第二、三、四、五、六节:数据库安全性控制

    文章目录 一:用户身份鉴别 (1)静态口令鉴别 (2)动态口令鉴别 (3)生物特征鉴别 (4)智能卡鉴别 二:存取控制 (1)自主存取控制DAC A:基本概念 B:GRANT与REVOKE ①:GRA ...

  6. 【思维导图总结——数据库系统概论】数据库安全性

    数据库安全性 数据库系统概论--数据库安全性 数据库安全性 一.数据库安全性概述 二.数据库安全性控制 (一).计算机的安全模型 (二).数据库安全性控制的常用方法 1.用户身份鉴别与存取控制 2.自 ...

  7. 重温《数据库系统概论》【第一篇 基础篇】【第4章 数据库安全性】

    本篇内容为中国人民大学教授王珊.萨师煊的<数据库系统概论>自学课程的复习笔记,学习视频源于小破站(传送门),对应视频P28-P31,属教材"[第一篇 基础篇]"的&qu ...

  8. 【数据库系统】第一部分 数据库基础(4) 数据库安全性

    本文属于「数据库系统」系列文章之一,这一系列着重于「数据库系统知识的学习与实践」.由于文章内容随时可能发生更新变动,欢迎关注和收藏数据库系统系列文章汇总目录一文以作备忘.需要特别说明的是,为了透彻理解 ...

  9. 4.0 《数据库系统概论》数据库安全性详解---(存取控制、DACMAC、视图机制、审计Audit....)

    文章目录 0.思维导图 1.数据库安全性概述 (1)为什么要研究数据库的安全性? (2)安全标准简介 ① TCSEC/TDI标准的基本内容 ② TCSEC/TDI安全级别划分 2.数据库安全性控制概述 ...

最新文章

  1. 终端bash美化(FC)
  2. 让炼丹更玄学!苏大博士生用「天干地支」生成随机种子,项目已开源
  3. 写一个会导致死锁的线程
  4. Python程序设计题解【蓝桥杯官网题库】 DAY12-算法训练
  5. 【渝粤教育】国家开放大学2019年春季 1062文学英语赏析 参考试题
  6. 无外网情况下RPM方式安装MySQL5.6
  7. 华中农业大学第五届程序设计大赛网络同步赛解题报告2(转)
  8. python实现链表的删除_删除链表中的元素,但是只能使用一个指针
  9. win7 或 win10系统开机启动项设置
  10. OriginLab学生版激活码续期
  11. div 中进行左右分离
  12. style = “color:####“包含的颜色名称对照表
  13. JS的组成-JS数组方法-JS函数-系统化学习
  14. scp和rsync的区别
  15. scipy.sparse.vstack
  16. Unity案例---愤怒的小鸟
  17. boston数据集预测房价
  18. 中国系统java开发面试准备
  19. Lesson 39
  20. 绝地求生pubg物理压枪芯片源码+成品

热门文章

  1. 临沧计算机教试报名,2019下半年临沧小学计算机教师资格证考什么?
  2. 无锡锡东2021高考成绩查询,2021年无锡高考成绩查询网址,无锡高考成绩查询系统时间安排...
  3. 镜像电流源特点_9000大型地网变频大电流接地特性测量系统介绍
  4. sklearn 聚类 实例
  5. django模版标签和继承
  6. GAN做图像翻译的一点总结
  7. 【Windows部署】首次安装的谷歌Chrome浏览器出现【无法打开此页面】问题处理(详细图文步骤)
  8. 实战 es6_Node.JS实战65:ES6新特性:箭头函数
  9. shell 工具_shell 脚本加密工具 - shc
  10. wifi卡慢延迟高_健康生活好助手:华为智能体脂秤 WiFi 版 体验评测