实验5-数据库的安全性控制(含答案)

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验五数据库的安全性控制

一、实验目的:

1. 通过实验加深对数据安全性的理解,并掌握SQL Server中有关用户登录的认证以及管理办法;

2. 通过实验加深对数据库存储控制机制的理解,通过自主存取控制进行权限管理,熟悉SQL Server中角色管理;

3.通过实验加深对数据安全性的理解,熟悉视图机制在自主存取控制上的应用。

二、实验容

1.设置SQL Server的混合安全认证模式。在SQL Server中的对象资源管理器中设置安全认证模式。

2.在SQL Server中,利用“对象资源管理器”创建一个名为“U1”的登录用户和数据库用户,密码为111,并允许其登录S-T数据库。

3.在SQL Server中,利用代码创建一个名为“U2”的登录用户,密码为111;

其相应的数据库用户名为lucky,并允许其登录S-T数据库。

4.用“u1”用户名登录后,执行对students表的查询操作,说明执行结果,并分析原因(建议:在启动一个SQL Server 2008窗口)。

分析:没有对u1进行其他操作的授权,只能登录而不能进行插入,修改等操作

5.将students表的操作权限select和insert赋予数据库用户u1,并允许其向其它用户授权。

6.以“u1”用户名登录,执行对students和teacher表的查询操作,将该运行结果进行分析。

分析:对比第4题,对U1进行授权后可以进行相应的操作

7.执行下列代码后,分析用户u2能否对s_t数据库的student表进行select 和update操作,为什么?并用相应的语句验证。

分析:首先grant给public组赋予了查询,插入,更新权限,然后给lucky用户赋予了对S表的所有权限,然后又revoke收回了lucky的权限,但并没有收回public组的权限,而deny却收回了lucky的更新权限,故查询可实现,而更新不可实现

8.以sa登录数据库,在s_t数据库的stc表上创建选修了课程B001的视图st_view。将该视图上的select和列score上的update权限授予u1;

9.以U1登录,对学号为“0415123”成绩提高10分,并查看修改后的结果。

10.撤销u2账号。

11.创建角色r1,并向r1角色授予teacher表的所有权限提示: USE ‘数据库名’

Create role 角色名

12.将U1添加到r1角色中,在u1用户登录窗口,查询teacher表;然后将该用户从r1角色中删除,再以u1用户的身份查询teacher表;观察并分析结果。

提示:(1)将用户添加到角色中

sp_addrolemember 角色1 ,用户名

(2)从角色中删除用户

sp_droprolemember 角色1,用户名

分析:r1角色被赋予了权限,并加到u1用户

分析:ri角色被删除之后,u1用户中就没有角色有对T表的查询权限了。

相关文档
最新文档