数据库安全性与完整性实验报告记录.docx

上传人:b****5 文档编号:27820540 上传时间:2023-07-05 格式:DOCX 页数:18 大小:716.46KB
下载 相关 举报
数据库安全性与完整性实验报告记录.docx_第1页
第1页 / 共18页
数据库安全性与完整性实验报告记录.docx_第2页
第2页 / 共18页
数据库安全性与完整性实验报告记录.docx_第3页
第3页 / 共18页
数据库安全性与完整性实验报告记录.docx_第4页
第4页 / 共18页
数据库安全性与完整性实验报告记录.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

数据库安全性与完整性实验报告记录.docx

《数据库安全性与完整性实验报告记录.docx》由会员分享,可在线阅读,更多相关《数据库安全性与完整性实验报告记录.docx(18页珍藏版)》请在冰豆网上搜索。

数据库安全性与完整性实验报告记录.docx

数据库安全性与完整性实验报告记录

数据库安全性与完整性实验报告记录

 

 

————————————————————————————————作者:

————————————————————————————————日期:

 

 

实验报告

 

课程名称:

数据库系统概论

学院:

工程学院

专业:

年级:

班级:

姓名:

学号:

指导教师:

 

年月日

教务处制

实验名称:

数据库安全性及完整性

时间:

2015-12-17

地点:

三教205机房

班组:

教师评语

成绩

教师签名

实验报告

1 实验目的

   1.熟悉通过SQL对数据进行安全性控制。

2 实验工具KingbaseES

    KingbaseES及其交互式查询工具ISQLW。

3 实验内容与要求

  1.使用SQL对数据进行安全性控制,包括:

授权与权力回收。

操作完成后看看已授权的用户是否真正具有授予的数据操作的权力了;权力收回操作之后的用户是否确实丧失了收回的数据操作的权力)。

根据操作过程认真填写实验报告,记录所有的实验用例。

2.首先在数据库中建立用户U1,U2,U3,U4,U5,U6,U7,选择全部为CONNECT角色,具体操作见课本141页;进行例4.1-4.13各操作。

3.在SYSTEM用户与7个CONNECT用户之间进行授权(例题1-12)。

注意在完成授权或权利回收之后,以相应的用户登录数据库,检查是否获得相应的权利。

4实验方法及步骤

例4.1把查询student表的权限授给用户u1。

以system的身份进入查询分析器,建立用户U1,U2,U3,U4,U5,U6,U7,密码均为tcl

createuserU1withpassword'tcl';

createuserU2withpassword'tcl';

createuserU3withpassword'tcl';

createuserU4withpassword'tcl';

createuserU5withpassword'tcl';

createuserU6withpassword'tcl';

createuserU7withpassword'tcl';

以system的身份进入企业管理器,查看用户

以U1的身份进入查询分析器,进行任意查询。

SELECT*FROM"S-C"."STUDENT"

打开企业管理器设置u1的权限,以U1的身份进入企业管理器,把查询模式S-C的权限授给用户U1。

SELECT*FROM"S-C"."STUDENT"

以U1的身份进入企业管理器,把查询Student表的权限授给用户U1。

SELECT*FROM"S-C"."STUDENT"

注意:

实验中若出现

则可以用语句dropownedbyU1删除它

不懂删除的话,看kingbase用户手册

例4.2把查询student表与course表的权全部操作限授给用户u2与u3。

SELECT*FROM"S-C"."STUDENT","S-C"."COURSE"

以system的身份进入查询分析器,把对Student表与Course表全部操作权限授予用户U2与U3。

GRANTALLPRIVILEGES

ONTABLE"S-C"."STUDENT","S-C"."COURSE"

TOU2,U3;

以U2/U3的身份进入查询分析器,进行任意查询。

SELECT*FROM"S-C"."STUDENT","S-C"."COURSE"

例4.3把对表SC的权限授给所有用户.

以U3的身份进入查询分析器,进行任意查询。

SELECT*FROM"S-C"."SC"

以system的身份进入查询分析器,把对表SC的查询权限授予所有用户。

GRANTSELECT

ONTABLE"S-C"."SC"

TOPUBLIC;

以U3的身份进入查询分析器,进行任意查询。

SELECT*FROM"S-C"."SC"

例4.4把查询student表与修改学生学号的权限授给用户u4。

以system的身份进入查询分析器,对student表插入一条新的学号

INSERTINTO"S-C".STUDENT(SNO,SNAME,SSEX,SDEPT,SAGE)

VALUES('201215128','陈冬','男','IS',18);

以U4的身份进入查询分析器,修改插入的学号

UPDATE"S-C".STUDENT

SETSNO=200215128

WHERESNO='201215128';

SELECT*FROM"S-C".STUDENT;

以system的身份进入查询分析器,把查询Student表与修改学生学号的权限授予用户U4。

SELECT*

FROM"S-C"."STUDENT";

GRANTUPDATE(SNO),SELECT

ONTABLE"S-C"."STUDENT"

TOU4;

以U4的身份进入查询分析器,进行任意查询。

UPDATE"S-C".STUDENT

SETSNO=200215128

WHERESNO='201215128';

SELECT*

FROM"S-C".STUDENT;

例4.5把对表SC的INSERT权限授给用户u5,并允许将此权限再授予其他用户。

以U5的身份进入查询分析器,进行任意查询。

INSERTINTO"S-C".SC(SNO,CNO,GRADE)

VALUES('201215128','1',NULL);

SELECT*FROM"S-C"."SC";

以system的身份进入查询分析器,把对表SC的INSERT权限授予U5用户,并允许将此权限在授予其他用户。

GRANTINSERT

ONTABLE"S-C"."SC"

TOU5

WITHGRANTOPTION;/*此语句,U5不仅有对表SC的INSERT权限,还可以传播此权限。

*/

以U5的身份进入查询分析器,进行任意查询。

INSERTINTO"S-C".SC(SNO,CNO,GRADE)

VALUES('201215128','1',NULL);

SELECT*FROM"S-C"."SC";

例4.6u5将此权限授给用户u6。

以U6的身份进入查询分析器,进行任意查询。

INSERTINTO"S-C".SC(SNO,CNO,GRADE)

VALUES('201215126','1',NULL);

SELECT*FROM"S-C"."SC";

以U5的身份进入查询分析器,把对表SC的INSERT权限授予U6用户,并允许将此权限在授予其他用户。

GRANTINSERT

ONTABLE"S-C"."SC"

TOU6

WITHGRANTOPTION;/*此语句,U5不仅有对表SC的INSERT权限,还可以传播此权限。

*/

以U6的身份进入查询分析器,进行任意查询。

INSERTINTO"S-C".SC(SNO,CNO,GRADE)

VALUES('201215126','1',NULL);

SELECT*FROM"S-C"."SC";

例4.7同样,u6还可以将此权限授给用户u7。

以U6的身份进入查询分析器,把对表SC的INSERT权限授予U7用户。

GRANTINSERT

ONTABLE"S-C"."SC"

TOU7;

以U7的身份进入查询分析器,把对表SC的INSERT权限授予U2用户。

GRANTINSERT

ONTABLE"S-C"."SC"

TOU2;

注意:

因为U6未给U7传播的权限,因此U7不能再传播此权限。

例4.8把用户U4修改学生学号的权限收回。

以system的身份进入查询分析器,把用户U4修改学生学号的权利收回。

REVOKEUPDATE

ONTABLE"S-C"."STUDENT"

FROMU4;

以U4的身份进入查询分析器,对学生学号进行修改。

UPDATE"S-C".STUDENT

SETSNO=201215128

WHERESNO='200215128';

例4.9收回所有用户对表SC的查询权限。

以system的身份进入查询分析器,收回所有用户对表SC的查询权限。

REVOKESELECT

ONTABLE"S-C"."SC"

FROMPUBLIC;

以U1的身份进入查询分析器,对表SC进行任意查询

SELECTgradeFROM"S-C"."SC";

例4.10把用户U5对SC表的INSERT权限收回。

以system的身份进入查询分析器,把用户U5对SC表的INSERT权限收回。

REVOKEINSERT

ONTABLE"S-C"."SC"

FROMU5CASCADE;

以U5的身份进入查询分析器,对表SC进行INSERT权限测试。

INSERTINTO"S-C".SC(SNO,CNO,GRADE)

VALUES('201215152','1',80);

SELECT*FROM"S-C"."SC";

例4.11通过角色来实现将一组权限授予一个用户。

以system的身份进入查询分析器,创建一个角色

CREATEROLER1;

以system的身份进入企业管理器,查看用户

刚刚创建的角色是空的,没有任何内容。

我们使用grant语句,使角色R1拥有Student表的SELECT、UPLECT、INSERT权限

GRANTSELECT,UPDATE,INSERT

ONTABLE"S-C"."STUDENT"

TOR1;

将这个角色授予U7,使他们具有角色R1所包含的全部权限。

以U7的身份进入查询分析器,对Student表进行查询

SELECT*FROM"S-C"."STUDENT";

将这个角色授予U7,使他们具有角色R1所包含的全部权限。

GRANTR1TOU7;

以U7的身份进入查询分析器,对Student表进行查询

SELECT*FROM"S-C"."STUDENT";

也可以一次性地通过R1来收回U7的这三个权限。

以system的身份进入查询分析器,一次性地通过R1来收回U7的这三个权限。

REVOKER1

FROMU7;

以U7的身份进入查询分析器,对Student表进行查询

SELECT*FROM"S-C".STUDENT

;

CREATEROLER1;

CREATEROLE王平;

CREATEROLE张明;

CREATEROLE赵玲;

GRANTSELECT,UPDATE,INSERT

ONTABLE"S-C"."STUDENT"

TOR1;

GRANTR1

TO王平;

GRANTR1

TO张明;

GRANTR1

TO赵玲;

REVOKER1

FROM王平;

例4.12角色的权限修改。

以system的身份进入查询分析器,增加角色R1对Student表的DELETE权限。

GRANTDELETE

ONTABLE"S-C"."STUDENT"

TOR1;

将这个角色授予U7,使他们具有角色R1所包含的全部权限。

GRANTR1TOU7;

以U7的身份进入查询分析器,进行对Student表的DELETE权限测试。

DELETEFROM"S-C".STUDENT

WHERESNO='200215128';

SELECT*FROM"S-C".STUDENT;

例4.13减少角色R1对Student表的select权限

以system的身份进入查询分析器,减少角色R1对Student表的select权限。

REVOKEselectONTABLE"S-C"."STUDENT"FROMR1;

以U7的身份进入查询分析器,进行对Student表的select权限测试。

SelectsnameFROM"S-C".STUDENT

WHERESNO='200215128';

5实验结果及总结

1.实验的时候注意进入查询分析器的用户,不同的用户会有不同的查询结果。

2.创建或者删除用户角色的时候要刷新,不然不会自己更新。

3.注意在对权限的授予与收回的时候,要对比前后的不同结果,说明语句的执行结果。

4.WITHGRANTOPTION;此语句,U5不仅有对表SC的INSERT权限,还可以传播此权限。

如果没有这条语句,则不能再传播此权限。

5.可以看用户手册研究企业管理器的更多功能,还有kingbase的其它各种功能。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1