实验五:数据控制(安全性部分)

上传人:泽*** 文档编号:74831060 上传时间:2022-04-14 格式:DOCX 页数:8 大小:129.44KB
收藏 版权申诉 举报 下载
实验五:数据控制(安全性部分)_第1页
第1页 / 共8页
实验五:数据控制(安全性部分)_第2页
第2页 / 共8页
实验五:数据控制(安全性部分)_第3页
第3页 / 共8页
资源描述:

《实验五:数据控制(安全性部分)》由会员分享,可在线阅读,更多相关《实验五:数据控制(安全性部分)(8页珍藏版)》请在装配图网上搜索。

1、实验五:数据控制(安全性部分)一、 实验目的:1. 熟悉通过 SQL 对数据进行安全性控制。2. 完成书本上习题的上机练习。3. 掌握 SQLServer 对数据进行安全性控制的方法。二、 实验内容:使用 SQL 对数据进行安全性控制,包括:授权和权力回收。操作完成后看看已授权的用户是否真正具有授予的数据操作的权力了;权力收回操作之后的用户是否确实丧失了收回的数据操作的权力。根据以下要求认真填写实验报告,记录所有的实验用例。( 1)授权与回收1. 授权:建立多个用户,给他们赋予不同的权限,然后查看是否真正拥有被授予的权限了。具体如下:1)建立用户 U1 、 U2、 U3 、U4 、U5 、U6

2、 、U7 ,选择其数据库角色全部允许为public 。(提示:方法一:可以用SQL Server2005 的 SQL Server Management Studio ( SSMS)先添加登录帐户,在添加登录的过程中可设置该登录允许访问的数据库和 public 数据库角色,从而完成对要访问的数据库中拥有一个用户帐户的映射。方法二:也可以用SQL Server 的 Transact-SQL 语句来建立用户。例如:execsp_addloginU1, U1U1-创建登录useStuDb- 切换到你自己建立的数据库或想要访问的数据库execsp_grantdbaccessU1, U1; -为登录 U

3、1 在当前 studb 数据库中添加一个安全帐-户 U1。并使其能够被授予在数据库中执行活动的权限。execsp_helplogins;-查看数据库中的登录及相关用户的信息。方法三:使用SQL Server 也支持的标准SQL 语句格式:CREATE LOGIN U1WITH PASSWORD = U1U1;useStuDb- 切换到你自己建立的数据库或想要访问的数据库CREATE USER U1FOR LOGIN U1 ;- 这条语句中的FOR也可以用 FROM 来代替GO-CREATELOGIN U1WITH PASSWORD= U1;use StuDb;CREATEUSER U1FOR

4、LOGIN U1 ;CREATELOGIN U2WITH PASSWORD= U2;use StuDb;CREATEUSER U2FOR LOGIN U2 ;CREATELOGIN U3WITH PASSWORD = U3;useStuDb;CREATEUSER U3FOR LOGIN U3 ;CREATELOGIN U4WITH PASSWORD= U4;useStuDb;CREATEUSER U4FOR LOGIN U4 ;CREATELOGIN U5WITH PASSWORD= U5;useStuDb;CREATEUSER U5FOR LOGIN U5 ;CREATELOGIN U6WI

5、TH PASSWORD= U6;useStuDb;CREATEUSER U6FOR LOGIN U6 ;CREATELOGIN U7WITH PASSWORD= U7;useStuDb;CREATEUSER U7FOR LOGIN U7 ;2)在 DBA (在授权SQL Server中是以sa 这个内置的管理员身份登录查询分析器)与七个刚建的用户之间进行1-1把查询Course表权限授给用户U1。use studb;grantselecton CoursetoU1 ;验证:以 U1 登录并连接入数据库后,分别在此授板语句执行前后,执行执行结果的不同。以后的操作均要求作类似的验证操作。1-2把对

6、 Student 表和 Course 表的全部权限授予用户U2 和 U3 。select * from Course语句,比较grant grantuse studb;allprivilegesallprivilegeson studenton coursetotoU2 , U3;U2 , U3;use studb;select*fromcourse;select*fromstudent;insertintostudentvalues ( 95006, 权限, 男 , 20, IS );1-3把对表SC 的查询权限授予所有用户。use studb;grantselecton sctopubli

7、c;1-4把查询Student 表和修改学生学号的权限授给用户U4 。use studb;grantupdate( sno ),selecton studenttoU4 ;1-5把对表SC 的INSERT权限授予U5用户,并允许他再将此权限授予其他用户。use studb;grantinserton sctoU5withgrantoption;1-6用户U5将对表SC 的INSERT权限授予U6,并允许将权限转授给其他用户。use studb;grantinserton sctoU6withgrantoption;1-7用户U6将对表SC 的INSERT权限授予U7。use studb;gra

8、ntinserton sctoU7 ;3) 在授权之后验证用户是否拥有了相应的权限。在执行完上面七个语句之后,我们可以分别以不同用户的身份登录数据库,进行相关操作, 检查系统是否许可。例如:1-8 U4 更新 Student 表的学生学号。updatestudentsetsno=95020wheresno=95006;1-9 U7 向 SC 表中插入一条数据: ( 200215132,2,88)。use studb;insertintosc( sno , cno , grade)values( 200215132, 2 , 88 );2回收权限1)回收权限2 回收权限。将 1 授予的权限部分收

9、回。2-1将用户 U4 修改学生学号的权限收回。use studb;revokeupdate( sno )on studentfromU4 ;denyselecton sctopublic;2-2收回所有用户对表SC 的查询权限。use studb;revokeselecton scfrompublic;2-3把用户 U5 对 SC 表的 INSERT 权限收回revokeinserton scfromU5cascade;2) 在回收权限之后,验证用户是否真正丧失了该权限。2-4用户 U3 查询表 SC。select*fromsc;2-5用户 U6 向表 SC 中插入一条记录( 2002151

10、33,3,92)。use studb;insertintosc( sno , cno , grade)values( 200215132, 2 , 88 );( 2)数据库角色3 角色的创建与授权。3-1首先创建一个角色R1createRoleR1 ; 3-2然后使用GRANT 语句,使角色R1 拥有 Student 表的 SELECT 、 UPDA TE、 INSERT 权限grantselect, update, inserton studenttoR1 ;3-3将这个角色授予U1,U3,U7 。使他们具有角色R1 所包含的全部权限。ExEcsp_addrolememberR1, U1;E

11、xEcsp_addrolememberR1, U3;ExEcsp_addrolememberR1, U7;3-4 对角色 R1 的权限进行修改,增加对 Student 表的 DELETE 权限,并回收对 Student 表的 INSERT 权限。grantdeleteon studenttoR1 ;revokeinserton studenttoR1 ;3-5删除角色R1。ExEcsp_droprolememberR1, U1;ExEcsp_droprolememberR1, U3;ExEcsp_droprolememberR1, U7;droprole R1 ;附录:sp_droprole从

12、当前数据库删除Microsoft? SQL Server?角色。sp_helpuser报告有关当前数据库中Microsoft SQL Server ? 用户 Microsoft Windows NT?用户和数据库角色的信息。附加题: P148 习题 8今有两个关系模式:emp 和 dep,其获取过程可参考如下:droptableemp;droptabledep;char( 3),ename char( 8),agesmallint, jobvarchar ( 15 ), salcreatetableemp ( empnomoney , dnochar( 2)( 001, 王明 , 35 , M

13、ANAGER, 2300, 01)insertintoemp1valuesinsertintoempvalues( 002, 李勇 , 33 , CLERK, 1300 , 01 )insertintoempvalues( 003, 刘星 , 38 , PRESIDENT, 4300 , 01 )insertintoempvalues( 004, 张新 , 23 , MANAGER, 2500, 02)insertintoempvalues( 005, 周平 , 23 , ANALYST, 2100, 02)insertintoempvalues( 006, 杨兰 , 41,MANAGER,

14、2900, 03)select*fromempdnamechar( 8), maname char( 8),addrcreatetabledep( dno char ( 2 ),varchar( 15 ), telephonevarchar(11 )王明 ,dkjfsd;lk, 87818443)insertintodepvalues( 01, aaa, insertintodepvalues( 02, bbb, 张新 ,ddf;lk, 82233443)1)建立用户王明、李勇、刘星、张新、周平、杨兰,选择其数据库角色全部允许为public 。CREATELOGIN wangmingWITH

15、PASSWORD =wangming;usemaster;CREATEUSER 王明 FOR LOGIN wangming;CREATELOGIN liyongWITH PASSWORD =liyong;usemaster;CREATEUSER 李勇 FORLOGIN liyong;CREATELOGIN liuxingWITH PASSWORD= liuxing;usemaster;CREATEUSER 刘星 FORLOGIN liuxing;CREATELOGIN zhangxinWITH PASSWORD= zhangxin;usemaster;CREATEUSER 张星 FORLOGI

16、N zhangxin;CREATELOGIN zhoupingWITH PASSWORD= zhouping;usemaster;CREATEUSER 周平 FORLOGIN zhouping;CREATELOGIN yanglanWITH PASSWORD= yanglan;usemaster;CREATEUSER 杨兰 FORLOGIN yanglan;2) 在 DBA 与六个新建用户之间进行授权(a) 用户王明对两个表有 SELECT 权限grantselecton depto王明 ;grantselecton empto王明 ;(b) 用户李勇对两个表有INSERT 和 DELETE

17、权限grantinsert, deleteon empto李勇 ;grantinsert, deleteon depto李勇 ;(c) 每个职工只对自己的记录有SELECT 权限 ;(d) 用户刘星对职工表有 select 权限,对工资字段具有更新权限;GRANT SELECT , UPDATE( sal)ON empTO 刘星(e) 用户张新具有修改这两个表的结构的权力;grantalteron empto张星 ;grantalteron depto张星 ;grant alter table on to /* 标准 SQL 语句 , SQL Server 不支持*/SQL Server200

18、5的实现方法:grantalteronto(f) 用户周平具有对两个表所有权限(读,插,改,删数据),并具有给其他用户授权的权限;grantallprivilegeson empto周平 withgrantoption;(g) 用户杨兰具有从每个部门职工中 SELECT 最高工资,最低工资,平均工资的权限,他不能查看每个人的工资。createviewsals( dname , maxsal, minsal, avgsal)asselectdep . dname , max ( sal), min ( sal),avg ( sal)fromemp , depwhereemp . dno= dep. dnogroupby emp . dno, dep. dname;grantselecton salsto杨兰 ;三、实验要求(1) 写出正确的 Transact-SQL 命令。 (不要求写附加题的 )(2) 无须记录正确的查询结果。但要求记录实验过程中发生的有学习意义的错误及错误信息。四、实验小结

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!