1、实验名称: 数据库安全性及完整性时间:2015-12-17地点:三教205机房班组:教 师 评 语成绩教师签名实验报告1 实验目的1. 熟悉通过SQL对数据进行安全性控制。2 实验工具KingbaseESKingbaseES及其交互式查询工具ISQLW。3 实验内容与要求1.使用SQL对数据进行安全性控制,包括:授权与权力回收。操作完成后看看已授权的用户是否真正具有授予的数据操作的权力了;权力收回操作之后的用户是否确实丧失了收回的数据操作的权力)。根据操作过程认真填写实验报告,记录所有的实验用例。2.首先在数据库中建立用户U1,U2,U3,U4,U5,U6,U7,选择全部为CONNECT角色,
2、具体操作见课本141页;进行例4.1-4.13各操作。3.在SYSTEM用户与7个CONNECT用户之间进行授权(例题1-12)。注意在完成授权或权利回收之后,以相应的用户登录数据库,检查是否获得相应的权利。4 实验方法及步骤例4.1 把查询student表的权限授给用户u1。以system的身份进入查询分析器,建立用户U1,U2,U3,U4,U5,U6,U7,密码均为tclcreate user U1 with passwordtcl;create user U2 with passwordcreate user U3 with passwordcreate user U4 with pas
3、swordcreate user U5 with passwordcreate user U6 with passwordcreate user U7 with password以system的身份进入企业管理器,查看用户以U1的身份进入查询分析器,进行任意查询。SELECT* FROMS-C.STUDENT打开企业管理器设置u1的权限,以U1的身份进入企业管理器,把查询模式S-C的权限授给用户U1。以U1的身份进入企业管理器,把查询Student表的权限授给用户U1。注意:实验中若出现则可以用语句drop owned by U1删除它不懂删除的话,看kingbase用户手册例4.2 把查询s
4、tudent表与course表的权全部操作限授给用户u2与u3。,COURSE以system的身份进入查询分析器,把对Student表与Course表全部操作权限授予用户U2与U3。GRANT ALL PRIVILEGESON TABLE TO U2,U3;以U2/U3的身份进入查询分析器,进行任意查询。例4.3把对表SC的权限授给所有用户.以U3的身份进入查询分析器,进行任意查询。SC以system的身份进入查询分析器,把对表SC的查询权限授予所有用户。GRANT SELECTTO PUBLIC;例4.4 把查询student表与修改学生学号的权限授给用户u4。以system的身份进入查询分
5、析器,对student表插入一条新的学号INSERT INTO .STUDENT(SNO,SNAME,SSEX,SDEPT,SAGE)VALUES(201215128,陈冬男IS,18);以U4的身份进入查询分析器,修改插入的学号UPDATE .STUDENTSET SNO=200215128WHERE SNO=SELECT * FROM .STUDENT;以system的身份进入查询分析器,把查询Student表与修改学生学号的权限授予用户U4。SELECT *FROM GRANT UPDATE(SNO),SELECTTO U4;以U4的身份进入查询分析器,进行任意查询。SELECT * 例
6、4.5 把对表SC的INSERT权限授给用户u5,并允许将此权限再授予其他用户。以U5的身份进入查询分析器,进行任意查询。.SC(SNO,CNO,GRADE)1,NULL);以system的身份进入查询分析器,把对表SC的INSERT权限授予U5用户,并允许将此权限在授予其他用户。GRANT INSERTTO U5WITH GRANT OPTION; /*此语句,U5不仅有对表SC的INSERT权限,还可以传播此权限。*/例4.6 u5将此权限授给用户u6。以U6的身份进入查询分析器,进行任意查询。201215126以U5的身份进入查询分析器,把对表SC的INSERT权限授予U6用户,并允许将
7、此权限在授予其他用户。TO U6 例4.7同样,u6还可以将此权限授给用户u7。以U6的身份进入查询分析器,把对表SC的INSERT权限授予U7用户。TO U7;以U7的身份进入查询分析器,把对表SC的INSERT权限授予U2用户。TO U2;因为U6未给U7传播的权限,因此U7不能再传播此权限。例4.8 把用户U4修改学生学号的权限收回。以system的身份进入查询分析器,把用户U4修改学生学号的权利收回。REVOKE UPDATEFROM U4;以U4的身份进入查询分析器,对学生学号进行修改。SET SNO=201215128200215128例4.9收回所有用户对表SC的查询权限。以sy
8、stem的身份进入查询分析器,收回所有用户对表SC的查询权限。REVOKE SELECTFROM PUBLIC;以U1的身份进入查询分析器,对表SC进行任意查询 SELECT grade FROM 例4.10把用户U5对SC表的INSERT权限收回。以system的身份进入查询分析器,把用户U5对SC表的INSERT权限收回。REVOKE INSERTFROM U5 CASCADE;以U5的身份进入查询分析器,对表SC进行INSERT权限测试。201215152,80);例4.11通过角色来实现将一组权限授予一个用户。以system的身份进入查询分析器,创建一个角色CREATE ROLE R1
9、;刚刚创建的角色是空的,没有任何内容。我们使用grant语句,使角色R1拥有Student表的SELECT、UPLECT、INSERT权限GRANT SELECT,UPDATE,INSERTTO R1;将这个角色授予U7,使他们具有角色R1所包含的全部权限。以U7的身份进入查询分析器,对Student表进行查询GRANT R1 TO U7;也可以一次性地通过R1来收回U7的这三个权限。以system的身份进入查询分析器,一次性地通过R1来收回U7的这三个权限。REVOKE R1FROM U7;CREATE ROLE 王平;CREATE ROLE 张明;CREATE ROLE 赵玲;GRANT R1TO 王平;TO 张明;TO 赵玲;FROM 王平;例4.12角色的权限修改。以system的身份进入查询分析器,增加角色R1对Student表的DELETE权限。GRANT DELETE以U7的身份进入查询分析器,进行对Student表的DELETE权限测试。DELETE FR
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1