实验六数据库系统安全性.docx

上传人:b****3 文档编号:5347178 上传时间:2022-12-15 格式:DOCX 页数:13 大小:803.82KB
下载 相关 举报
实验六数据库系统安全性.docx_第1页
第1页 / 共13页
实验六数据库系统安全性.docx_第2页
第2页 / 共13页
实验六数据库系统安全性.docx_第3页
第3页 / 共13页
实验六数据库系统安全性.docx_第4页
第4页 / 共13页
实验六数据库系统安全性.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

实验六数据库系统安全性.docx

《实验六数据库系统安全性.docx》由会员分享,可在线阅读,更多相关《实验六数据库系统安全性.docx(13页珍藏版)》请在冰豆网上搜索。

实验六数据库系统安全性.docx

实验六数据库系统安全性

实验六数据库系统安全性

内容:

数据库的用户管理和操作权限管理。

目的:

理解和体会数据库安全性的内容,体会安全控制的作用,加强对DBMS功能的认识。

要求:

1.使用SQLServer2005的管理器完成对登录、数据库用户、角色的定义,完成对不同用户对不同数据库对象的操作授权。

(1)修改SQLServer服务器的安全认证模式

(2)分别建立用户账户LOG1,LOG2

(3)使这两个用户成为“教学”数据库中的用户。

(4)为用户LOG1授予对学生表的SELECT查询权。

(5)为用户LOG2授予对学生表的INSERT、DELETE和SELECT权。

(6)在教学数据库中建立一个角色ROLE1,授予该角色对选课表、课程表的SELECT权,将LOG1,LOG2添加到ROLE1角色中

使用对以上的安全性定义

(2)—(6)进行验证,在实验报告中写出验证步骤,并针对发生各种情况做出具体的分析和讨论。

 

2.使用查询编辑器,以命令方式完成如下操作。

(1)使用系统存储过程SP_addlogin完成T1、T2、S1、S2登录帐号的定义。

(2)使用系统存储过程sp_grantdbaccess使T1、T2、S1、S2成为“教学数据库”中的用户。

(3)为用户T1授予对学生表的DELETE和SELECT权,并允许其将拥有的权利转授给他人(加WITHGRANTOPTION子句)。

(4)为用户T1授予没有学生选修的课程的课程信息的SELECT权、DELETE权。

(5)为用户T2授予对“计算机系”学生的“C程序设计”课程的成绩的修改(UPDATE)权。

提示:

定义视图

(6)用户T1将其拥有的SELECT权授予T2。

(7)使用系统存储过程sp_addrole创建一个角色R1,并授予R1查询学生表的权限。

(8)使用系统存储过程sp_addrolemember将S1、S2成为R1的成员,使S1、S2也拥有查询学生表的权限。

在实验报告中写出2题以上要给出具体的操作命令,并对以上的安全性定义进行验证,针对各种情况做出具体的分析和讨论。

实验报告样本

《数据库系统概论》实验报告

题目:

学号姓名

 

日期

 

实验内容与完成情况:

1.使用SQLServer2005的管理器完成对登录、数据库用户、角色的定义,完成对不同用户对不同数据库对象的操作授权。

验证操作:

(2)使用LOG1,LOG2用户名连接数据库成功

(3)打开数据库->教学数据库11->安全性->用户,可以看到log1和log2用户在其中

(4)对log1用户执行下列命令:

use教学数据库;

SELECT学号FROM学生;

显示结果

说明查询操作是被允许的,再直接对表中的数据进行修改,报错:

提示表明未对其赋予update权限

(5)对log2用户分别执行下列命令,结果如图

use教学数据库;

SELECT学号FROM学生;

直接对表进行插入操作:

最后一行为添加进入的信息

直接删除表里的所有数据

(6)使用LOG1登陆,使用log1用户,进行对于课程和选课的查询操作

use教学数据库;

SELECT课程号,课程名称FROM课程;

操作成功,对于选课表进行同样操作也成功,同样地,对于log2用户进行相同操作,也都成功查询

尝试对其进行修改或删除操作

从提示信息可以看出没有授予它们SELECT以外的权限,如update权限。

2.使用查询编辑器,以命令方式完成如下操作。

(1)使用系统存储过程SP_addlogin完成T1、T2、S1、S2登录帐号的定义。

EXECsp_addlogin'T1','1'

EXECsp_addlogin'T2','1'

EXECsp_addlogin'S1','1'

EXECsp_addlogin'S2','1'

(2)使用系统存储过程sp_grantdbaccess使T1、T2、S1、S2成为“教学数据库”中的用户。

use教学数据库;

EXECsp_grantdbaccess'T1','T1'

EXECsp_grantdbaccess'T2','T2'

EXECsp_grantdbaccess'S1','S1'

EXECsp_grantdbaccess'S2','S2'

(3)为用户T1授予对学生表的DELETE和SELECT权,并允许其将拥有的权利转授给他人(加WITHGRANTOPTION子句)。

use教学数据库

grantselect,deleteon学生toT1WITHGRANTOPTION

通过登录T1用户,进行查询操作与删除操作,均成功

进行其它操作,如更新操作,则报错如下:

(4)为用户T1授予没有学生选修的课程的课程信息的SELECT权、DELETE权。

先在管理员用户下建立视图:

CREATEVIEW没学生选的课

AS

SELECT*

FROM课程

WHERE课程号NOTIN(SELECT课程.课程号FROM课程,选课WHERE课程.课程号=选课.课程号)

再对T1授权:

use教学数据库

grantselect,deleteon没学生选的课toT1

验证:

查询操作:

删除操作:

直接删除最后一行,显示“命令执行成功”

(5)为用户T2授予对“计算机系”学生的“C程序设计”课程的成绩的修改(UPDATE)权。

提示:

定义视图

先在sa管理员用户下定义视图

createview计算机系C语言

AS

SELECT选课.学号,选课.课程号,成绩

FROM选课,系科,课程,学生

WHERE选课.课程号=课程.课程号AND课程.课程名称='C程序设计'AND选课.学号=学生.学号AND学生.系科号=系科.系科号AND系科.系名称='计算机系'

再授权

use教学数据库

grantupdateon计算机系C语言toT2

验证:

无法在T1用户上打开视图

因为没有给它赋予select权限,通过命令修改成功

use教学数据库

update计算机系C语言

SET成绩=90

因为没有select权限,故不能进行条件修改,修改了所有人的成绩,通过sa用户打开计算机系C语言表发现成绩被修改成功

(6)用户T1将其拥有的SELECT权授予T2。

grantselecttoT2

(7)使用系统存储过程sp_addrole创建一个角色R1,并授予R1查询学生表的权限。

USE教学数据库

EXECsp_addrole'R1'

grantselecton学生toR1

(8)使用系统存储过程sp_addrolemember将S1、S2成为R1的成员,使S1、S2也拥有查询学生表的权限。

sp_addrolemember'R1','S1'

sp_addrolemember'R1','S2'

验证:

S1用户中可以打开学生表,表示可查询,尽管提示是“只读”,但那是因为没有赋予S1任何修改学生表的权限

S2

S2表也是同样

出现的问题:

1.无法建立视图“没有学生选修的选修课表”

2.进行2(6)的视图建立时使用语句:

createview计算机系C语言

AS

SELECT*

FROM选课

WHERE选课.课程号=课程.课程号AND课程.课程名称='C程序设计'AND选课.学号=学生.学号AND学生.系科号=系科.系科号AND系科.系名称='计算机系'

报错如下:

消息4104,级别16,状态1,过程计算机系C语言,第3行

无法绑定由多个部分组成的标识符"课程.课程号"。

消息4104,级别16,状态1,过程计算机系C语言,第3行

无法绑定由多个部分组成的标识符"课程.课程名称"。

消息4104,级别16,状态1,过程计算机系C语言,第3行

无法绑定由多个部分组成的标识符"学生.学号"。

消息4104,级别16,状态1,过程计算机系C语言,第3行

无法绑定由多个部分组成的标识符"学生.系科号"。

消息4104,级别16,状态1,过程计算机系C语言,第3行

无法绑定由多个部分组成的标识符"系科.系科号"。

消息4104,级别16,状态1,过程计算机系C语言,第3行

无法绑定由多个部分组成的标识符"系科.系名称"。

3.

解决方案(列出遇到的问题和解决办法,列出没有解决的问题):

1.因为是在T1用户下,所以提示没有建立视图的权限,更换到master用户后,再次建立也失败,发现是没有指定使用的数据库名,指定了使用的是教学数据库11后建立视图成功

2.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1