实验六数据库系统安全性Word文档格式.docx
《实验六数据库系统安全性Word文档格式.docx》由会员分享,可在线阅读,更多相关《实验六数据库系统安全性Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
(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用户分别执行下列命令,结果如图
直接对表进行插入操作:
最后一行为添加进入的信息
直接删除表里的所有数据
(6)使用LOG1登陆,使用log1用户,进行对于课程和选课的查询操作
SELECT课程号,课程名称FROM课程;
操作成功,对于选课表进行同样操作也成功,同样地,对于log2用户进行相同操作,也都成功查询
尝试对其进行修改或删除操作
从提示信息可以看出没有授予它们SELECT以外的权限,如update权限。
2.使用查询编辑器,以命令方式完成如下操作。
EXECsp_addlogin'
T1'
'
1'
T2'
S1'
S2'
EXECsp_grantdbaccess'
use教学数据库
grantselect,deleteon学生toT1WITHGRANTOPTION
通过登录T1用户,进行查询操作与删除操作,均成功
进行其它操作,如更新操作,则报错如下:
先在管理员用户下建立视图:
CREATEVIEW没学生选的课
AS
SELECT*
FROM课程
WHERE课程号NOTIN(SELECT课程.课程号FROM课程,选课WHERE课程.课程号=选课.课程号)
再对T1授权:
grantselect,deleteon没学生选的课toT1
验证:
查询操作:
删除操作:
直接删除最后一行,显示“命令执行成功”
先在sa管理员用户下定义视图
createview计算机系C语言
SELECT选课.学号,选课.课程号,成绩
FROM选课,系科,课程,学生
WHERE选课.课程号=课程.课程号AND课程.课程名称='
C程序设计'
AND选课.学号=学生.学号AND学生.系科号=系科.系科号AND系科.系名称='
计算机系'
再授权
grantupdateon计算机系C语言toT2
无法在T1用户上打开视图
因为没有给它赋予select权限,通过命令修改成功
update计算机系C语言
SET成绩=90
因为没有select权限,故不能进行条件修改,修改了所有人的成绩,通过sa用户打开计算机系C语言表发现成绩被修改成功
grantselecttoT2
USE教学数据库
EXECsp_addrole'
R1'
grantselecton学生toR1
sp_addrolemember'
S1用户中可以打开学生表,表示可查询,尽管提示是“只读”,但那是因为没有赋予S1任何修改学生表的权限
S2
S2表也是同样
出现的问题:
1.无法建立视图“没有学生选修的选修课表”
2.进行2(6)的视图建立时使用语句:
FROM选课
报错如下:
消息4104,级别16,状态1,过程计算机系C语言,第3行
无法绑定由多个部分组成的标识符"
课程.课程号"
。
课程.课程名称"
学生.学号"
学生.系科号"
系科.系科号"
系科.系名称"
3.
解决方案(列出遇到的问题和解决办法,列出没有解决的问题):
1.因为是在T1用户下,所以提示没有建立视图的权限,更换到master用户后,再次建立也失败,发现是没有指定使用的数据库名,指定了使用的是教学数据库11后建立视图成功
2.