实验2:安全性语言

安全性实验包含两个实验项目,其中1个为必修,1个为选修。自主存取控制实验为设计型实验项目,审计实验为验证型实验项目。

实验2.1 自主存取控制实验

1.实验目的
掌握自主存取控制权限的定义和维护方法。
2 .实验内容和要求
定义用户、角色,分配权限给用户、角色,回收权限,以相应的用户名登录数据库验证权限分配是否正确。选择一个应用场景,使用自主存取控制机制设计权限分配。可以采用两种方案。方案一:采用SYSTEM超级用户登录数据库,完成所有权限分配工作,然后用相应用户名登陆数据库以验证权限分配正确性;方案二:采用SYSTEM用户登陆数据库创建三个部门经理用户,并分配相应的权限,然后分别用三个经理用户名登陆数据库,创建相应部门的USER, ROLE,并分配相应权限。下面的实验报告示例,采用实验方案一。验证权限分配之前,请备份好数据库;针对不同用户所具有的权限,分别设计相应的SQL语句加以验证。
3.实验重点和难点
实验重点:定义角色,分配权限和回收权限。
实验难点:实验方案二实现权限的再分配和回收。
4.实验过程

首先查看已有用户信息,这些信息都存在Mysql内置的mysql的数据库中:select user from mysql.user;

在这里插入图片描述

创建用户jagger,密码为123456,主机登陆为localhost:create user 'jagger'@'localhost' identified by '123456';

在这里插入图片描述

输入show grants for 'jagger'@'localhost'; 查看用户jagger的权限暂时如下:

在这里插入图片描述

使用system超级用户root给用户jagger赋予所有权限:grant all privileges on *.* to 'jagger'@'localhost';

退出root,以jagger作为用户登陆:

在这里插入图片描述

在Navicat上验证分配权限正确性,在root下原本的7个数据库及权限,在jagger用户下可以发现其拥有和root一样的权限,也可以看到root创建的7个数据库。

在这里插入图片描述

以用户jagger登陆,进行select权限检查,下图可以看出select成功。

在这里插入图片描述

进行insert权限检查,下图可看出insert成功:

在这里插入图片描述

进行update权限检查,可以通过下图看出update成功:

在这里插入图片描述

进行delete权限检查,可以通过下图看出delete成功:

在这里插入图片描述

登陆root,回收root给jagger的权限:revoke all privileges, grant option from 'jagger'@'localhost';

在这里插入图片描述

可以验证jagger其权限被收回:

在这里插入图片描述

切换以jagger登录,可以看到已无权看到root创建的数据库。

在这里插入图片描述

发布了11 篇原创文章 · 获赞 2 · 访问量 137

猜你喜欢

转载自blog.csdn.net/sinat_40875078/article/details/104098964
今日推荐