数据库安全实验二_第1页
数据库安全实验二_第2页
数据库安全实验二_第3页
数据库安全实验二_第4页
数据库安全实验二_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上实 验 报 告课程名称 数据库安全 内 容 数据库权限的设计与实现 指导教师 岳 清 起止日期 2016.10.10-11.1 提交日期 2016.11.8 学 院 计算机学院 系别专业 软件工程 学生姓名 管腾飞 班级/学号 软工1401/成 绩 _一、 实验目的掌握用户、角色、权限的设置。通过实验,进一步加深数据库用户、用户权限、服务器角色、数据库角色等概念含义。二、 实验内容1、 建立SQL Server认证的登录帐户:login_a,login_b,login_c,其中login_a的服务器角色为: public;login_b的服务器角色为: public+

2、dbcreator;login_c的服务器角色为: public+sysadmin。实现过程截图2、 用login_a登录,能否访问dbsecurity数据库?为什么?答:无法访问。因为在建立login_a登陆账户时,其服务器的角色为public,而在此之前的dbsecurity所在的数据库角色为public+ sysadmin。角色不同所拥有的权限也不同。3、 用login_a登录,创建数据库login_a_db,是否成功,为什么?答:创建数据库login_a_db失败。login_a登陆账户角色为public没有创建表的权限。4、 用login_b登录,能否访问dbsecurity数据库?

3、为什么?答:用login_b登录不能访问dbsecurity数据库。因为在次之前进行角色设定的时候,login_b的角色为public+dbcreator。而在此之前的dbsecurity所在的数据库角色为public+ sysadmin。角色不同所拥有的权限也不同。5、 用login_b登录,创建数据库login_b_db,是否成功,为什么?答:用login_b登录,可以创建数据库login_b_db6、 用login_c登录,能否访问dbsecurity数据库?为什么?答:用login_c登录,可以访问dbsecurity。因为在设定login_c角色时,有这个权限。7、 用login_c

4、登录,创建数据库login_c_db,是否成功,为什么?答:用login_c登录,成功创建数据库login_c_db。因为用户角色login_c拥有可以创建数据库的权限。8、 将login_a、login_b映射为dbsecurity数据库的用户。login_a的数据库角色为db_datareader;login_b的数据库角色为 db_datareade+db_datawriter1:设定将login_a映射为dbsecurity数据库的用户。login_a的数据库角色为db_datareader。2:设定将login_b映射为dbsecurity数据库的用户。login_b的数据库角色为

5、db_datareade+db_datawriter。9、 用login_a登录,对dbsecurity数据库的表查询、修改和删除,是否成功,为什么?答:用login_a登录,对dbsecurity数据库的表查询成功,修改失败,删除失败。因为在设定登录名时,对dbsecurity数据库的角色设定为db_datareader就代表login_a只有数据的读取权限,并未拥有更改数据的权限。验证:10、 用login_b登录,对dbsecurity数据库的表查询、修改和删除,是否成功,为什么?答: 用login_b登录,对dbsecurity数据库的表查询成功,修改成功,以及删除也成功。因为在设定登

6、录名login_b的数据库角色时,设定为db_datareade+db_datawriter说明login_b登录名既拥有数据库的读取,以及数据库的写的权限。11、 授予login_a对dbsecurity数据库中表employee的插入、删除和修改的权限。答:授予login_a对dbsecurity数据库中表employee的插入、删除和修改的权限。在login_c用户中进行数据库查询操作,查询语句为:grant delete on employee to login_agrant update on employee to login_agrant select on employee t

7、o login_a插入的验证:修改的验证:删除的验证12、 如果希望login_a不能查看表employee的全部字段,只能查看其中3个字段,如何操作?答: grant select(emp_id,name,job_id) on employee to login_a13、 用login_a登录,创建一个表,是否成功?答:用login_a登陆,创建一个表,创建失败。因为login_a的用户权限,没有可以创建表的权限14、 如果希望login_a具有创建表的权限,应如何操作?答: 用login_c登录名的登录。然后在数据库角色中进行设定login_a的数据库成员身份为:db_owner.15、

8、login_b 用户将其创建的数据库login_b_db的某一个表(table1)的浏览权限赋给login_a,请用代码实现授权。答: login_b 用户将其创建的数据库login_b_db的某一个表(table1)的浏览权限赋给login_a.用代码来实现授权,先将login_a映射到Student表代码实现:grant select on student to login_a16、 用login_a登录,浏览上一步授权的表。答:截图显示:17、 login_b 用户将对数据库login_b_db的某一个表(table1)追加删除和更新的权利给用户login_a(在15中只赋予了浏览权限)

9、,请用代码实现授权。答:grant delete,update on Student to login_a18、 用login_a登录,更新和删除上一步授权的表。答:19、 删除login_a用户对login_b_db数据库中表的所有权限。(用deny语句实现)答:deny all to login_a20、 用login_b登录,在数据库数据库login_b_db中创建一个新的数据库角色myRole,该角色对table1有select 和insert权限,将login_a用户添加到myRole中。用login_a登录,浏览table1的内容,是否成功,为什么?答:成功。因为在数据库login

10、_b_db中的新角色myRole有select和insert权限。并且将login_a用户添加进myRole中。因此具有查看table1中的内容。实现过程:21、 Revoke和deny有什么区别,请设计一个例子来说明。答: deny拒绝授予主体权限。防止主体通过其组或角色成员身份继承权限revoke取消以前授予或拒绝了的权限.对login_a进行测试。首先login_a拥有对dbsecurity进行查询的权限,然后进行收回。语句实现:revoke select to login_a。执行结果。deny select to login_a执行结果三、 实验总结本次实验,对数据库的不同用户的权限

11、不同,以及授予不同登陆名不同的权限。在数据库中,为便于用户及权限进行管理,可以将一组具有相同权限的用户组织在一起,这一组具有相同权限的用户就称为角色。通过查阅资料对于数据库的角色做得总结如下:db_owner 在数据库中有全部权限。db_accessadmin 可以添加或删除用户 ID。db_securityadmin 可以管理全部权限、对象所有权、角色和角色成员资格。db_ddladmin 可以发出 ALL DDL,但不能发出 GRANT、REVOKE 或 DENY 语句。db_backupoperator 可以发出 DBCC、CHECKPOINT 和 BACKUP 语句。db_datareader 可以选择数据库内任何用户表中的所有数据。db_datawriter 可以更改数据库内任何用户表中的所有数据。db_denydatareader 不能选择数据库内任何用户表中的任何数据。db_d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论