您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 实验三--用户鉴别与数据安全性控制
本科实验报告课程名称:数据库系统原理实验项目:用户鉴别与数据安全性控制实验地点:4606专业班级:学号:学生姓名:指导教师:2012年10月23日一目的与要求(1)了解SQLSerer数据库系统中数据访问控制的基本方法(2)了解使用SSMS如何给用户授权(3)熟练掌握常用GRANT和REVOKE进行权限控制(4)验证数据库系统的访问控制二实验设备与环境使用SQLServer数据库管理系统提供的SSMS。三实验内容、实验记录及实验结果与分析实验包括如下内容:创建新的数据库用户对上一实验建立的表进行权限设置检查数据库用户的权限撤销用户权限1使用SSMS的图形界面创建用户并授权创建一个数据库用户:张明,授予他可以查询Student表的权限。1)使用SSMS的图形界面创建登录名在快捷菜单中选择“新建登录名”,进入“登录名”窗口,输入登录信息,按“确定”创建登录名。使用该名称可以登录数据库服务器。2)使用SSMS的图形界面创建数据库用户选择“ST”数据库,在快捷菜单中选择“新建用户”,进入“数据库用户”窗口,输入用户名和登录名,按“确定”创数据库用户。3)使用SSMS的图形界面进行授权,设置用户对对象的访问权限展开ST数据库的“安全性”下的“用户”,选择“张明db”。(1)打开用户属性窗口,在“选择对象类型”窗口中选择“表”。(2)在属性窗口的“安全对象”页中进行设置权限选择要访问的表Student,在下面的权限列表中点击“选择”权限的“授予”检查框。按“确定”授予“张明”可以查询Student表的权限。2使用SQL语句创建用户并授权在ST或TEST数据库中,使用SQL语句创建两个数据库用户,对数据库中的Student、SC、和Course表,分别对其授予不同的访问权限,1)创建登录名用户要访问数据库,必须首先登录到服务器上。因此,首先需要为用户创建登录名。以系统管理员账户登录,进入数据库服务器,执行以下的操作。(1)▼分别创建两个登录名王明和李刚:CREATELOGIN王明WITHpassword='123456'CREATELOGIN李刚WITHpassword='123456'(2)展开服务器的“安全性”下的“登录名”,检查登录名是否创建成功。2)创建数据库用户用户登录服务器后,要进入某一数据库访问,需要为登录用户在该数据库中建立一个数据库用户名。对创建的两个登录名,在TEST数据库分别为其创建两个数据库用户:(1)▼切换到TEST数据库:USETEST(2)▼创建登录名在TEST数据库中的用户:CREATEUSER王明dbFORLOGIN王明CREATEUSER李刚FORLOGIN李刚(3)展开TEST数据库的“安全性”下的“用户”,检查数据库用户是否创建成功。3)授权在数据库中添加新用户后,新用户没用访问数据库中数据的权限,需要数据库管理人员给其授予相关的权限后,才能执行相应的操作。(1)授予王明权限GRANTSELECTONStudentTO王明db(2)授予李刚权限GRANTSELECTONStudentTO李刚GRANTINSERT,UPDATE,DELETEONStudentTO李刚GRANTSELECTONCourseTO李刚3检查权限控制分别以两个登录名登录数据库,执行一些对数据库的操作,检查用户是否允许执行相关的操作。1)检查王明的权限▼以用户“王明”登录,执行如下的操作,检查能否正确的运行:SELECT*FROMStudentINSERTINTOStudent(Sno,Sname,Sclass)VALUES('20101101','高志','男','1008')UPDATEStudentSetSage=Sage+1DELETEFROMStudentWhereSno='20101010'SELECT*FROMCourseSELECT*FROMSC2)检查李刚的权限以用户“李刚”登录,执行如下的操作,检查能否正确的运行:SELECT*FROMStudentINSERTINTOStudent(Sno,Sname,Sclass)VALUES('20101201','钱红','1008')UPDATEStudentSetSage=Sage+1DELETEFROMStudentWhereSno='20101210'SELECT*FROMCourseINSERTINTOCourseVALUES('20','FORTRAN语言',NULL,2)UPDATECourseSetCcredit=3WHERECno='2'DELETEFROMCourseWhereCno='6'4撤销权限当不希望用户执行某些对数据库的操作时,可以撤销先前授予用户的操作权限。1)撤销权限▼以系统管理员帐号登录,撤销“李刚”对Student表的权限:REVOKESELECTONStudentFROM李刚REVOKEINSERT,UPDATE,DELETEONStudentFROM李刚2)检查权限:以“李刚”帐号登录,检查如下的命令能否正确的运行:SELECT*FROMStudentINSERTINTOStudent(Sno,Sname,Sclass)VALUES('20101501','赵光','1008')UPDATEStudentSetSage=Sage+1DELETEFROMStudentWhereSno='20101510'▼数据库没有变动,李刚的权限已经被删除。四实验遇到的问题和解决方法1.权限可以通过SSMS的图形界面和SQL语句设置,两种方法相对来说图形界面比较适合大众化,而SQL语言适合专业的数据库管理人员使用。问题还是对SQL语言不是特别熟悉,要加强使用SQL语言的练习。2.权限的设置时,感觉SQL反应比较慢,对象资源管理器刷新不显示。关掉之后重新启动,新的权限才会出现。不知道什么原因导致。五实验心得1.本次试验学习了SQL中权限的设置,对两种授权方法通过实践,比较其运行过程。实验顺利完成,复习和巩固了课本的理论知识。2.本实验熟悉了一下两种权限设置的方法。然后验证了一下权限之下的数据库查询等等操作,收获还是比较大的。
本文标题:实验三--用户鉴别与数据安全性控制
链接地址:https://www.777doc.com/doc-5726294 .html