收藏 分销(赏)

实验三-数据库安全性技术.doc

上传人:仙人****88 文档编号:12012101 上传时间:2025-08-27 格式:DOC 页数:8 大小:52.50KB 下载积分:10 金币
下载 相关 举报
实验三-数据库安全性技术.doc_第1页
第1页 / 共8页
实验三-数据库安全性技术.doc_第2页
第2页 / 共8页


点击查看更多>>
资源描述
数据库系统原理实验报告 实验三 数据库安全性技术 班级: 姓名: 学号: 任课教师: 实验教师: 上机时间: 【实验目的】 1、理解安全性的概念。 2、理解用户及角色的相关概念。 3、掌握Oracle的安全性技术,系统权限及对象权限的授予和回收方法。 【实验性质】 综合性实验 【实验学时】 2H 【实验内容】 今有两个关系模式: 部门(部门号,名称,经理名,地址,电话号) 职工(职工号,姓名,年龄,职务,工资,部门号) 一、在Hr用户模式下,创建职工和部门表,各插入2条测试数据。 drop table 职工 CREATE TABLE 部门 ( 部门号 VARCHAR2(10) PRIMARY KEY, 名称 VARCHAR2(10), 经理名 VARCHAR2(8), 地址 VARCHAR2(10), 电话号 VARCHAR2(11) ); CREATE TABLE 职工 ( 职工号 VARCHAR2(10) PRIMARY KEY, 姓名 VARCHAR2(8), 年龄 INT, 职务 VARCHAR2(10), 工资 INT, 部门号 VARCHAR2(10), FOREIGN KEY (部门号) REFERENCES 部门(部门号) ); INSERT INTO 部门 VALUES('D1','人事部','张三','湖北','07196586365'); INSERT INTO 部门 VALUES('D2','财务部','李四','湖北','07198645214'); SELECT * FROM 部门; INSERT INTO 职工 VALUES('E1','王五',32,'科长',2300,'D1'); INSERT INTO 职工 VALUES('E2','赵六',48,'部长',4300,'D2'); SELECT * FROM 职工; 二、定义用户,用SQL的GRANT和REVOKE语句完成以下授权定义或存取控制功能。 1、创建数据库本地用户test,密码为oracle,默认表空间为users,临时表空间为temp,同时具有create session系统权限。 DROP user t20100230203_TEST; CREATE USER t20100230203_TEST IDENTIFIED BY oracle DEFAULT TABLESPACE users TEMPORARY TABLESPACE TEMP; GRANT CREATE SESSION TO t20100230203_TEST; REVOKE CREATE SESSION FROM t20100230203_TEST; 2、用户王明对两个表有SELECT权力; DROP user t20100230203_王明; CREATE USER t20100230203_王明 IDENTIFIED BY ORACLE DEFAULT TABLESPACE users TEMPORARY TABLESPACE TEMP; GRANT CREATE SESSION TO t20100230203_王明; GRANT SELECT ON 部门 TO t20100230203_王明; GRANT SELECT ON 职工 TO t20100230203_王明; REVOKE CREATE SESSION FROM t20100230203_王明; REVOKE SELECT ON 部门 FROM t20100230203_王明; REVOKE SELECT ON 职工 FROM t20100230203_王明; 3、用户李勇对两个表有INSERT和DELETE权力; CREATE USER t20100230203_李勇 IDENTIFIED BY ORACLE DEFAULT TABLESPACE users TEMPORARY TABLESPACE TEMP; GRANT CREATE SESSION TO t20100230203_李勇; GRANT INSERT ,DELETE ON 部门 TO t20100230203_李勇; GRANT INSERT ,DELETE ON 职工 TO t20100230203_李勇; REVOKE CREATE SESSION FROM t20100230203_李勇; REVOKE INSERT ,DELETE ON 部门 FROM t20100230203_李勇; REVOKE INSERT ,DELETE ON 职工 FROM t20100230203_李勇; 4、用户刘星对职工表有SELECT权力,对工资字段具有更新权力; CREATE USER t20100230203_刘星 IDENTIFIED BY ORACLE DEFAULT TABLESPACE users TEMPORARY TABLESPACE TEMP; GRANT CREATE SESSION TO t20100230203_刘星; GRANT UPDATE(工资) ON 职工 TO t20100230203_刘星; GRANT SELECT ON 职工 TO t20100230203_刘星; REVOKE CREATE SESSION FROM t20100230203_刘星; REVOKE UPDATE ON 职工 FROM t20100230203_刘星; REVOKE SELECT ON 职工 FROM t20100230203_刘星; 5、用户周平具有对两个表所有权力(读、插、改、删数据),并具有给其他用户授权的权力; 提示:所有权力为ALL PRIVILEGE,在GRANT语句中使用WITH GRANT OPTION选项,被授权的用户就具有了再次将对象权限授予其他用户的能力。 CREATE USER t20100230203_周平 IDENTIFIED BY ORACLE DEFAULT TABLESPACE users TEMPORARY TABLESPACE TEMP; GRANT CREATE SESSION TO t20100230203_周平; GRANT ALL PRIVILEGES ON 部门 TO t20100230203_周平 WITH GRANT OPTION; GRANT ALL PRIVILEGES ON 职工 TO t20100230203_周平 WITH GRANT OPTION; SELECT * FROM 职工; REVOKE CREATE SESSION FROM t20100230203_周平; REVOKE ALL PRIVILEGES ON 部门 FROM t20100230203_周平; REVOKE ALL PRIVILEGES ON 职工 FROM t20100230203_周平; 6、用户杨兰具有从每个部门职工中SELECT最高工资,最低工资,平均工资的权力,他不能查看每个人的工资。 提示:首先创建视图查询每个部门职工中的最高工资,最低工资和平均工资,然后授予用户查询视图的权限。 CREATE VIEW 职工_VIEW(最高工资,最低工资,平均工资) AS SELECT MAX(工资),MIN(工资),AVG(工资) FROM 职工; CREATE USER t20100230203_杨兰 IDENTIFIED BY ORACLE DEFAULT TABLESPACE users TEMPORARY TABLESPACE TEMP; GRANT CREATE SESSION TO t20100230203_杨兰; GRANT SELECT ON 职工_VIEW TO t20100230203_杨兰; REVOKE CREATE SESSION FROM t20100230203_杨兰; REVOKE SELECT ON 职工_VIEW FROM t20100230203_杨兰; 三、设计安全机制使得用户“liming”只能查询年龄在40岁以上(包括)职工。 提示:用视图实现 CREATE VIEW liming_VIEW1(职工号,姓名,年龄,职务,工资,部门号) AS SELECT * FROM 职工 WHERE 年龄>40; drop user t20100230203_liming; CREATE USER t20100230203_liming IDENTIFIED BY ORACLE DEFAULT TABLESPACE users TEMPORARY TABLESPACE TEMP; GRANT CREATE SESSION TO t20100230203_liming; GRANT SELECT ON liming_VIEW1 TO t20100230203_liming; REVOKE CREATE SESSION FROM t20100230203_liming; REVOKE SELECT ON liming_VIEW1 FROM t20100230203_liming; 四、设计安全机制使得用户“liming”只能访问“职工”的职工号、姓名。 提示:用视图实现 CREATE VIEW liming_VIEW2(职工号,姓名) AS SELECT 职工号,姓名 FROM 职工 ; CREATE USER t20100230203_liming2 IDENTIFIED BY ORACLE DEFAULT TABLESPACE users TEMPORARY TABLESPACE TEMP; GRANT CREATE SESSION TO t20100230203_liming2; GRANT SELECT ON liming_VIEW2 TO t20100230203_liming2; REVOKE CREATE SESSION FROM t20100230203_liming2; REVOKE SELECT ON liming_VIEW2 FROM t20100230203_liming2; 五、设计角色“student”,可以查看“职工”的职工号、姓名、年龄。将用户“liming”添加到角色“student”中。 提示:用视图实现 CREATE VIEW liming_VIEW3(职工号,姓名,年龄) AS SELECT 职工号,姓名,年龄 FROM 职工 ; CREATE ROLE t20100230203_student ; GRANT SELECT ON liming_VIEW3 TO t20100230203_student; CREATE USER t20100230203_liming3 IDENTIFIED BY ORACLE DEFAULT TABLESPACE users TEMPORARY TABLESPACE TEMP; GRANT CREATE SESSION TO t20100230203_liming3; GRANT t20100230203_student TO t20100230203_liming3; REVOKE CREATE SESSION FROM t20100230203_liming3; REVOKE t20100230203_student FROM t20100230203_liming3; 【实验总结】 请根据实验内容谈谈你对本次实验的收获、感想,或提出你对实验内容的建议等等。 批改教师评语: 实验报告成绩: 批改教师签字 批改时间: 8
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服