Oracle 11g 数据库 实验7 数据库安全管理
Oracle 11g 数据库实验7 数据库安全管理
1、实验目的
(1)掌握Oracle数据库安全控制的实现。
(2)掌握Oracle数据库用户管理。
(3)掌握Oracle数据库权限管理。
(4)掌握Oracle数据库角色管理。
(5)了解Oracle数据库概要文件的管理。
(6)了解Oracle数据库审计。
2、实验环境
Oracle 11G
3、实验要求
(1)为BOOKSALES数据库创建用户
(2)为BOOKSALES数据库用户进行权限授予与回收。
(3)为BOOKSALES数据库创建角色,利用角色为用户授权。
(4)为BOOKSALES数据库创建概要文件,并指定给用户,
(5)对BOOKSALES数据库中的用户操作进行审计。
4、实验内容、过程与结果
(1)创建一个名为Tom的用户,采用口令认证方式,口令为Tom,默认表空间为USERS表空间,默认临时表空间为TEMP,在USERS表空间上配额为10MB,在BOOKTBS1表空间上的配额为50MB。
CREATE USER TOM IDENTIFIED BY TOM DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP QUOTA 10M ON USERS QUOTA 50M ON BOOKTBS1;
(2)创建个名为Joan的用户,采用口令认证方式, 口令为Joan,默认表空间为BOOKTBS2表空间,默认临时表空间为TEMP,在USERS表空间上配额为10MB,在BOOKTBS2表空间上的配额为20MB、该用户的初始状态为锁定状态。
CREATE USER JOAN IDENTIFIED BY JOAN DEFAULT TABLESPACE BOOKTBS2 TEMPORARY TABLESPACE TEMP QUOTA 10M ON USERS QUOTA 20M ON BOOKTBS2 ACCOUNT LOCK;
(3)为方便数据库中用户的登录,为BOOKSALES 数据库中所有用户授予CREATESESSION系统权限。
GRANT CREATE SESSION TO PUBLIC;
(4)分别使用Tom用户和Joan用户登录BOOKSALES数据库,测试是否成功。
CONN TOM/TOM@BOOKSALES
CONN JOAN.JOAN@BOOKSALE
(5)为Joan用户账户解锁,并重新进行登录。
CONN SYS AS SYSDBA
ALTER USER JOAN ACCOUNT UNLOCK;
CONN JOAN/JOAN@BOOKSALES;
(6) Tom 用户和Joan用户登录成功后,分别查询books表、customers 表中的数据.
SELECT * FROM BS.BOOKS;
SELECT * FROM BS.CUSTOMERS;
注意:这里是查不到bs用户的表的,继续往下面做即可!!
(7)为Tom用户授予CREATE TABLE、CREATE VIEW系统权限,并可以进行权限传递:将图书销售系统中的各个表的SELECT、UPDATE、DELETE、INSERT 对象权限授予Tom用户,也具有传递性。
CONN SYS AS SYSDBA
GRANT CREATE TABLE,CREATE VIEW TO TOM WITH ADMIN OPTION;
CONN BS //这里可以不切换
GRANT SELECT,UPDATE,DELETE,INSERT ON BS.CUSTOMERS TO TOM WITH GRANT OPTION;
GRANT SELECT,UPDATE,DELETE,INSERT ON BS.PUBLISHERS TO TOM WITH GRANT OPTION;
GRANT SELECT,UPDATE,DELETE,INSERT ON BS.BOOKS TO TOM WITH GRANT OPTION;
GRANT SELECT,UPDATE,DELETE,INSERT ON BS.ORDERS TO TOM WITH GRANT OPTION;
GRANT SELECT,UPDATE,DELETE,INSERT ON BS.ORDERITEM TO TOM WITH GRANT OPTION;
GRANT SELECT,UPDATE,DELETE,INSERT ON BS.PROMOTION TO TOM WITH GRANT OPTION;
(8) Tom用户将图书销售系统中的customers表、publishers 表、books 表的查询权限以及CREATE VIEW、CREATE TABLE的系统权限授予Joan用户。
CONN TOM/TOM
GRANT SELECT ON BS.CUSTOMERS TO JOAN;
GRANT SELECT ON BS.PUBLISHERS TO JOAN;
GRANT SELECT ON BS.BOOKS TO JOAN;
GRANT CREATE TABLE,CREATE VIEW TO JOAN;
(9)利用Joan用户登录BOOKSALES数据库,查询customers表、publishers 表、books表中的数据。创建一个包含出版社及其出版的图书信息的视图publisher book.
CONN JOAN/JOAN
SELECT * FROM BS.CUSTOMERS;
SELECT * FROM BS.PUBLISHERS;
CREATE VIEW PUBLISHERS_VIEW AS SELECT NAME,CONTACT,PHONE FROM BS.PUBLISHERS;
(10) Tom用户回收其授予Joan用户的CREATE VIEW的系统权限。
REVOKE CREATE VIEW FROM JOAN;
(11) Tom用户回收其授予Joan用户的在customers表上的SELECT权限。
REVOKE SELECT ON BS.CUSTOMERS FROM JOAN;
(12)利用system用户登录BOOKSALES数据库,回收Tom用户所有具有的CREATETABLE系统权限以及在customers表、publishers 表、books 表上SELECT权限。
CONN SYSTEM/root
REVOKE CREATE TABLE FROM TOM;
REVOKE SELECT ON BS.CUSTOMERS FROM TOM;
REVOKE SELECT ON BS.PUBLISHERS FROM TOM;
REVOKE SELECT ON BS.BOOKS FROM TOM;
(13)分别查询Tom用户、Joan 用户所具有的对象权限和系统权限详细信息。
SELECT * FROM USER_SYS_PRIVS;
(14)创建一个角色bs_role, 将BOOKSALES数据库中books表的所有对象权限以及对customers表、publishers 表、orders表的SELECT权限授予该角色。
CREATE ROLE BS_ROLE NOT IDENTIFIED;
GRANT SELECT,UPDATE,DELETE,INSERT ON BS.BOOKS TO BS_ROLE;
GRANT SELECT ON BS.CUSTOMERS TO BS_ROLE;
GRANT SELECT ON BS.PUBLISHERS TO BS_ROLE;
GRANT SELECT ON BS.ORDERS TO BS_ROLE;
(15)将bs_role角色授予Joan用户,将CREATE SESSION、 RESOURCE、bs_ role角色授予Tom用户。
GRANT BS_ROLE TO JOAN;
GRANT CREATE SESSION,RESOURCE,BS_ROLE TO TOM;
(16)创建一个bs_profile1 的概要文件,限定该用户的最长会话时间为30分钟,如果连续10分钟空闲,则结束会话。同时,限定其口令有效期为20天,连续登录2次失败后将锁定账户,10天后自动解锁。
CREATE PROFILE BS_PROFILE1 LIMIT CONNECT_TIME 30 IDLE_TIME 10 PASSWORD_LIFE_TIME 20 FAILED_LOGIN_ATTEMPTS 2 PASSWORD_LOCK_TIME 10;
(17) 创建一个概要文件bs_profile2, 要求每个用户的最多会话数为3个,最长的连接时间为60分钟,最大空闲时间为20分钟,每个会话占用CPU的最大时间为10秒:用户最多尝试登录次数为3次,登录失败后账户锁定日期为7天。
CREATE PROFILE BS_PROFILE2 LIMIT SESSIONS_PER_USER 3 CONNECT_TIME 60 IDLE_TIME 20 CPU_PER_CALL 10 FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 7;
(18)将概要文件bs_profle1 指定给Tom用户,将概要文件bs_profile2 指定给Joan用户。
ALTER USER TOM PROFILE BS_PROFILE1;
ALTER USER JOAN PROFILE BS_PROFILE2;
后记:最后这里附上查各种权限的语句,
SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='TOM';
SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='JOAN';
SELECT * FROM DBA_TAB_PRIVS WHERE GRANTEE='TOM';
SELECT * FROM DBA_TAB_PRIVS WHERE GRANTEE='JOAN';
SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE='TOM';
SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE='JOAN';
SELECT * FROM ROLE_SYS_PRIVS WHERE ROLE='BS_ROLE';
SELECT * FROM ROLE_TAB_PRIVS WHERE ROLE='BS_ROLE';
注意:如果在19题内的登录会话数不起作用,需输入一下语句解锁功能
ALTER SYSTEM SET RESOURCE_LIMIT = TRUE;
本次实验内容到此为止,内容仅供参考。
Oracle 11g 数据库 实验7 数据库安全管理相关推荐
- 数据库实验:数据库和表、查询、视图与安全性、存储过程及游标、触发器、综合实验-水果商店进阶
数据库实验:数据库和表.查询.视图与安全性.存储过程及游标.触发器.综合实验-水果商店进阶 实验一.数据库和表 源码1: 源码2: 小结 实验二.查询 源码 小结 实验三.视图.安全性 源码: 小结 ...
- 数据库实验:数据库高级查询
数据库实验:数据库高级查询 实验过程 (1) IN 嵌套查询 (2) 单层EXISTS 嵌套查询 (3) FROM 子句中的嵌套查询 (4) 集合查询(交) (5) 集合查询(并) (6) 集合查询( ...
- xorm oracle,Golang + Oracle 11g + XORM + go-oci8 的数据库驱动测试(超详细)
一.系统环境介绍: Windows 10 Oracle 11g 64bit OCI -> instantclient-basic-windows.x64-12.2.0.1.0 OCI SDK - ...
- Oracle 11g 使用RMAN备份数据库
使用Oracle自带的备份恢复工具RMAN(Recovery Manager)具有以下几种优势: 支持增量备份 能自动管理备份文件 自动化备份与恢复 备份的文件有效性检查 配置快闪恢复区(flash ...
- 数据库实验三 数据库系统设计综合实验实验报告
广州大学学生实验报告 开课学院及实验室:计算机科学与网络工程学院 2023年5月24日 学院 计算机学院 年级.专业.班级 计科213 姓名 edw-Snow 学号 321061000** 课程实 ...
- 数据库实验8 数据库安全性(用户与权限管理)实验
实验8 数据库安全性(用户与权限管理)实验 8.1实验目的及要求 加深对数据库安全性的理解 8.2实验内容 数据库用户与权限管理 8.3实验步骤 8.3.1创建新用户 1.创建新用户: Mysql&g ...
- 数据库实验7 数据库视图的定义与使用
实验7 数据库视图的定义与使用 7.1实验目的及要求 掌握视图的用法,加深对视图作用的理解 7.2实验内容 1.创建.修改和删除视图 2.利用视图进行查询 7.3实验步骤 7.3.1视图的创建(查看视 ...
- 数据库实验6 数据库的分组查询和统计查询
实验6 数据库的分组查询和统计查询 6.1实验目的及要求 熟练掌握数据查询中的分组.统计.计算和集合的操作方法 6.2实验内容 使用聚集函数查询.分组计算查询.集合查询 6.3实验步骤 6.3.1使用 ...
- 数据库实验5 数据库的嵌套查询实验
实验5 数据库的嵌套查询实验 5.1实验目的及要求 加深对嵌套查询语句的理解 5.2实验内容 使用IN.比较符.ANY或ALL和EXIST操作符进行嵌套查询操作 5.3实验步骤 5.3.1使用带IN谓 ...
最新文章
- 【C++】C++11 STL算法(九):番外篇
- mflac文件解析工具_9 个爱不释手的 JSON 工具
- 详解集合之HashMap——HashMap内部结构,自动扩容机制,为什么需要重写hashcode和equals方法
- Python(8):模块内置变量
- Even for transaction data request, metadata is still needed as prerequisite
- SAP CRM partner主数据的地址格式设计
- mysql union as 注入_sql注入入门 之 mysql 常规注入 [ union方式 ]
- 听歌识曲java_homework_3
- 菜鸟编译OPenJDK全过程记录
- REACT打印页面组件
- 两个月攻克系统集成项目管理工程师
- 04-Groovy-运算符
- 用canvas写个接水管小游戏
- 用python爬取前程无忧网大数据岗位信息并分析
- Wordpress 4.6 任意命令执行漏洞
- 安装 tez-0.10.1
- 【磨刀不误砍柴工】安装 virtuoso IC617 遇到 version `CXXABI_1.3.8‘ not found 的解决方法
- Linux系统将几块磁盘制作lvm_linux卷并分区挂载
- 德州扑克实践之刚开始!------发牌
- vc mysql sniffer_MySQL抓包工具:MySQL Sniffer