Oracle实验一--数据库安全管理

合集下载

oracle安全管理

oracle安全管理

实验三安全管理【开发语言及实现平台或实验环境】Oracle10g【实验目的】练习创建用户、用户的授权、创建角色、将角色授权给用户等安全管理命令【实验原理】一、用户管理二、权限管理三、角色管理【实验内容】1.创建一个用户口令认证的数据库用户usera_exer,口令为usera,默认表空间为USERS,配额为10MB,初始账户为锁定状态。

2. 创建一个口令认证的数据库用户userb_exer,口令为userb。

2.为usera_exer用户授权CREATE SESSION权限、scott.emp的SELECT权限和UPDATE权限,同时允许该用户将获得的权限授予其他用户。

4. 将用户usera_exer的账户解锁。

3.用usera_exer登录数据库,查询和更新scott.emp中的数据。

同时将scott.emp的SELECT权限和UPDATE权限授予用户userb_exer。

登录后进行查询:更新:更新后进行查看是否更新成功:5. 用usera_exer登录数据库,查询和更新scott.emp中的数据。

同时将scott.emp的SELECT 权限和UPDATE权限授予用户userb_exer。

6禁止用户usera_exer将获得的CREATE SESSION权限再授予其他用户。

由于刚开始是将create session 授权给了usera_exer 并且允许它授权给其他的用户,所以要先回收usera_exer的此权限,然后再从新给用户授权。

7禁止用户usera_exer将获得的scott.emp的SELECT权限和UPDATE权限再授予其他用户。

同理先将权限回收,然后再进行授权:8建角色rolea和roleb,将CREATE TABLE权限,scott.emp的INSERT权限和DELETE权限授予rolea;将CONNECT,RESOURCE角色授予roleb。

9. 将角色rolea,roleb授予用户usera_exer。

Oracle实验一-数据库安全管理

Oracle实验一-数据库安全管理

实验一数据库安全管理实验内容1、创建用户、角色根据下表的要求1)建立角色;2)为角色分配权限;3)建立密码管理和资源限制Profile文件;4)建立用户;5)为用户分配角色;6)用户登录,执行相应的SQL操作。

由系统管理员(admin)创建以下数据表:课程信息表CourseInfo,排课信息表ClassInfo,部门代码表DepartmentInfo,教师信息表TeacherInfo,学生信息表StudentInfo,选课信息表SelectiveInfo,保存在系统管理员的schema中。

请按照文档lab1_DataModel.doc的表结构创建表。

列以及班级列记录✓查看院系代码信息Student,2M 角色:学生(student)用户:(用你的名字的拼音)角色:CONNECT对象权限:✓查看学生信息✓查看课程信息✓查看选课信息✓登录时修改密码;✓SESSIONS_PER_USER=1✓IDLE_TIME=20✓CONNECT_TIME=30实验步骤如下:运行SQL*Plus工具,sys用户以SYSDBA特权登录,输入口令abc123。

1、ADMIN操作步骤一:创建表空间ADMIN指定该表空间内的表在加载数据时是否产生日志,默认为产生日志(LOGGING),指明数据文件的路径与名字,表空间的大小,最后指定表空间的扩展方式是本地化管理EXTENT MANAGEMENT LOCAL,段空间的管理方式为自动SEGMENT SPACE MANAGEMENT AUTO。

操作步骤二:创建概要文件ADMINPROFILE来对数据库用户进行资源限制和密码管理限制用户在一次数据库会话期间可以使用的CPU时间为UNLIMITED,用户可打开的并发会话的最大数目为UNLIMITED,指定用户三次登录失败后锁定账户,设置使用一个特定密码的时间限制为30天,指定可重新使用密码前要经过100天。

操作步骤三:创建ADMIN用户设置ADMIN用户密码为admin,指定其概要文件为ADMINPROFILE,标志用户所创建对象的默认表空间为admin,用户的临时段表空间为temp,限制表空间存储对象为1M。

Oracle数据库系统第5章 Oracle数据库安全管理

Oracle数据库系统第5章 Oracle数据库安全管理
1. 网络系统层次安全技术 网络入侵试图破坏信息系统的完整性、机密性或可信任的任何网
络活动的集合,具有以下特点:
没有地域和时间的限制,跨越国界的攻击就如同在现场一样方 便
通过网络的攻击往往混杂在大量正常的网络活动之中,隐蔽性 强
5.1.2 数据库安全问题
计算机网络系统开放式环境面临的威胁主要有以下几种类型:
5.1 Oracle安全模型
当前对数据库的主要安全威胁有物理威胁和逻辑威胁。
物理威胁主要是像各种外力,如恐怖袭击,火灾等造成的数据库 服务器故障或数据库中存储介质的损坏造成的数据丢失;逻辑威胁主 要是指对信息的未授权存取,如恶意用户侵入某银行数据库系统窃取 信用卡数据信息。
对数据库安全物理威胁的主要解决方案主要是数据备份与恢复等 技术,对逻辑威胁的主要解决方案主要是用户管理、权限管理、角色 管理、概要文件管理等技术。
入侵者可以直接利用操作系统的漏洞窃取数据库文件。 数据库管理系统层次安全技术主要是用来解决这一问题,即当前
面两个层次已经被突破的情况下仍能保障数据库数据的安全,这就要 求数据库管理系统必须有一套强有力的安全机制。解决这一问题的有 效方法之一是数据库管理系统对数据库文件进行加密处理。可以考虑 在三个不同层次实现对数据库数据的加密:
5.1.2 数据库安全问题
在数据库系统安全模型中,其中最基本的安全管理技术手段就是 DBMS提供的用户授权与访问权限控制功能,该功能用来限制特定用户 对特定对象进行特定操作。DBMS用户存取控制安全模型如图所示:
用户
权限
数据库对象
角色
在DBMS用户存取控制安全模型中,每个用户可以被赋予多个角色, 每个角色可以对应多个用户。用户、角色、数据库对象均可以有若干 许可权限。一旦用户通过系统身份认证,DBMS就将该用户针对特定数 据库对象的许可权限赋予他。

Oracle数据库的安全与管理

Oracle数据库的安全与管理

数据库模式
表 - 触发器 - 约束
索引 视图 序号发ห้องสมุดไป่ตู้器 存储程序单元 同义词 用户定义的数据类型 数据库链接
建立用户的核对表
1. 选择用户名和认证机制 2. 确定用户需要存储对象的表空间 3. 确定每一个表空间的限额 4. 指定缺省表空间和临时表空间 5. 建立用户 6. 给用户授予权限和角色
回收使用WITH ADMIN OPTION 的系统权限
DBA USER 1
SCOTT
授予
回收
DBA USER 1
在调用层设置资源限制
资源
说明
CPU_PER_CALL
CPU time per call in hundredths of seconds
LOGICAL_READS_PER Number of data blocks _CALL
为用户分配资源文件
CREATE USER user3 IDENTIFIED BY user3 DEFAULT TABLESPACE data01 TEMPORARY TABLESPACE temp QUOTA unlimited ON data01 PROFILE developer_prof;
CREATE SESSION ALTER SESSION RESTRICTED SESSION
CREATE TABLESPACE ALTER TABLESPACE DROP TABLESPACE UNLIMITED TABLESPACE
授予系统权限
GRANT CREATE SESSION, CREATE TABLE TO user1;
创建环境文件:资源限制
CREATE PROFILE developer_prof LIMIT SESSIONS_PER_USER 2 CPU_PER_SESSION 10000 IDLE_TIME 60 CONNECT_TIME 480;

Oracle数据库管理-实验指导

Oracle数据库管理-实验指导

实验一Oracle安装与维护一、实验目的1.了解并掌握Oracle 10的安装方法2.了解并掌握测试安装好的Oracle 10g的方法二、实验内容及步骤1.安装步骤(1)运行setup.exe,出现“Oracle Database 10g安装”画面。

(2)“下一步”进入“Oracle Universal Installer:指定文件位置”,设置源“路径”、“名称”和目的“路径”。

(3)“下一步”进入“Oracle Universal Installer:选择安装类型”,选择安装类型。

(4)保持默认值,下一步,进入“Oracle Universal Installer:选择数据库配置”,选择数据库配置。

(5)保持默认值,下一步,进入“Oracle Universal Installer:指定数据库配置选项”,指定“全局数据库名”和“SID”,对这两个参数的指定一般相同,例如:oract。

也可以将“全局数据库名”设置为域名。

例如:如果选择“创建带样本方案的数据库,OUI会在数据库中创建HR、OE、SH等范例方案(sample schema)(6)下一步,进入“Oracle Universal Installer:选择数据库管理选项”。

(7)保持默认值,下一步,进入“Oracle Universal Installer:指定数据库文件存储选项”。

(8)保持默认值,下一步,进入“Oracle Universal Installer:指定备份和恢复选项”。

(9)保持默认值,单击“下一步”,进入“Oracle Universal Installer:指定数据库方案的口令”,对不同的帐户设置不同的口令。

(10)单击“下一步”,继续安装,进入“Oracle Universal Installer:概要”。

(11)单击“安装”,开始安装过程,大约半小时。

(12)数据库创建完成时,显示“Database Configuration Assistant”窗口。

数据库安全实验一 Oracle 11g数据库的使用以及账号和权限管理

数据库安全实验一 Oracle 11g数据库的使用以及账号和权限管理

贵州大学实验报告学院:计算机科学与信息学院专业:信息安全班级:0911. 用户认证方式ORACLE中用户认证的方式共有4种,即:1) 数据库认证(DATABASE AUTHENTICATION)又称口令认证。

由ORACLE系统进行辨认和认证用户工作。

2) 外部认证(EXTERNAL AUTHENTICATION)可以由操作系统或网络服务进行认证。

3) 全局认证(GLOBAL AUTHENTICATION)。

4) 代理认证(PROXY AUTHENTICATION),DBA对中间层服务器授权,然后利用中间层服务器代为授权和认证用户。

2.用户账号管理—账号创建创建用户账号主要是通过SQL命令CREATE USERCREATE USER 用户名IDENTIFIED {BY 密码|EXTERNALLY|GLOBALLY AS ‘外部名’}[ {DEFAULT TABLESPACE 默认表空间名称|TEMPORARY TABLESPACE 临时表空间名称|QUOTA {数目|UNLIMITED} ON 表空间名称|PROFILE 用户配置文件|PASSWORD EXPIRE|ACCOUNT{LOCK|UNLOCK};}主要参数说明QUOTA 定额,限制允许用户使用的表空间的数量。

PROFILE 用户配置文件,用于限制用户对系统资源的使用和执行密码管理的规则。

PASSWORD EXPIRE 制定用户的密码已经到期,失效,强制用户更改密码。

ACCOUNT 锁定或者解锁某个用户。

3.修改用户账号对已创建的用户的某些属性进行修改,如修改用户密码、默认表空间、临时表空间等。

例如:修改用户的认证方式:修改用户EXTERNALUSER的认证方式,从外部认证方式改为数据库认证,密码为bbb。

ALTER USER EXTERNAL USERIDENTIFIED BY bbb;4.锁定和解锁用户账号Oracle可在任何时候锁定和解锁用户账号,这样就能通过该账号控制数据库的访问而不必删除和重建这些用户账号。

Oracle数据库实验报告

Oracle数据库实验报告

Oracle数据库实验报告目录实验一安装和使用Oracle数据库.................................................. - 2 - 实验二体系结构、存储结构与各类参数..................................... - 13 - 实验三Oracle数据库的创建和管理............................................. - 22 - 实验四SQL语言 ............................................................................ - 33 - 实验五PL/SQL编程 ....................................................................... - 41 - 实验六模式对象管理与安全管理 ................................................ - 50 -实验一安装和使用Oracle数据库【实验目的】1.掌握Oracle软件安装过程,选择安装组件2.掌握建立Oracle数据库,配置网络连接3.掌握Oracle企业管理器的基本操作4.使用SQL*Plus,登录到实例和数据库5.掌握命令方式的关闭和启动实例及数据库【实验内容】1.查看已安装的Oracle组件2.查看服务,记录下和数据库有关的服务名,将他们设为手动方式,启动相关服务。

3.配置监听器,查看是否在服务中有LISTENER,是否能启动。

4.配置本地net服务,提示:设置正确的服务器地址和端口号。

5.打开SQL*Plus,用SYS和SYSTEM用户名和密码登录。

6.思考题:有几种打开SQL*Plus的方法?分别是什么?7.用命令关闭实例和数据库,记录命令8.用命令以NOMOUNT的方式启动实例,再加载数据库,打开数据库。

Oracle实验一报告

Oracle实验一报告

实验一实验名称:数据库的安装与管理实验学时:2实验目的:1)了解Oracle数据库的基本安装流程。

1)了解Oracle数据库的逻辑结构和物理结构。

2)熟悉Oracle的命令操作环境SQL*PLUS。

3)了解启动和关闭数据库的不同方式及其优缺点。

4)熟悉掌握各种启动、关闭方式。

实验内容及步骤:1、完成Oracle 12c数据库的安装2、SQL*Plus的启动与关闭(一)SQL*Plus的启动(二)断开与数据库的连接(三)退出SQL*Plus3、使用shutdown命令关闭数据库(1)正常关闭。

等待当前所有已连接的用户断开与数据库的连接,然后关闭数据库。

正常关闭的语句如下:SHUTDOWN NORMAL(2)立即关闭。

回退活动事务处理并断开所有已连接的用户,然后关闭数据库。

立即关闭语句如下:SHUTDOWN IMMEDIATE(3)事务关闭:完成事务处理后断开所有已连接的用户,然后关闭数据库。

事务处理关闭语句如下:SHUTDOWN TRANSACTIONAL4、使用startup命令启动数据库(1)启动数据库实例时不装载数据库。

执行此操作的命令如下:STARTUP NOMOUNT(2)启动数据库实例,装载数据库,但不打开数据库。

通常在数据库维护时执行此操作,对应的命令如下:STARTUP MOUNT4.改变数据库的状态(1)装载数据库实例。

ALTER DATABASE MOUNT(2)打开已关闭的数据库。

ALTER DATABASE OPEN(3)以只读方式打开数据库。

ALTER DATABASE OPEN READ ONLY思考题:1、在数据库的nomount、mount、open三种模式下,分别打开数据库的什么文件?nomount状态:读参数文件,启动实例和后台进程;mount状态:加载控制文件,让实例和数据库相关联;open状态:根据控制文件找到并打开数据文件和日志文件,从而打开数据库。

2、当关闭数据库时使用shutdown命令,好久没有关闭,随即将“命令提示符”窗口关闭,之后重新“启动命令提示符”并登录SQL*PLUS,使用shutdown immediate关闭数据库出现如下问题如何解决?ORA-24324: 未初始化服务句柄 ORA-24323: 不允许此值 ORA-01090: 正在关闭 - 不允许连接3、如何把数据库从nomount状态改为mount状态?alter database mount;。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一数据库安全管理实验内容1、创建用户、角色根据下表的要求1)建立角色;2)为角色分配权限;3)建立密码管理和资源限制Profile文件;4)建立用户;5)为用户分配角色;6)用户登录,执行相应的SQL操作。

由系统管理员(admin)创建以下数据表:课程信息表CourseInfo,排课信息表ClassInfo,部门代码表DepartmentInfo,教师信息表TeacherInfo,学生信息表StudentInfo,选课信息表SelectiveInfo,保存在系统管理员的schema中。

请按照文档lab1_DataModel.doc的表结构创建表。

三次登录失败,锁定账户;使用30天后需要更改密码;旧密码过期后100天内不SESSION S_PER_USER=UNLIMI TEDCPU_PER _SESSION=UNLIMITE D角色:CONNECT对象权限:查看学生信息查看教师信息更新教师信息查看排课记录更新和查看选课信息中成绩列,学号列以及班级列记录查看院系代码信息登录时修改密码;SESSIONS_PER_USER=2IDLE_TIME=30CONNECT_TIME=60角色:CONNECT对象权限:查看学生信登录时修改密码;SESSIONS_PER_USER=1IDLE_TIME=20CONNECT_TIME=30息看课程信息看选课信息实验步骤如下:运行SQL*Plus工具,sys用户以SYSDBA特权登录,输入口令abc123。

1、ADMIN操作步骤一:创建表空间ADMIN指定该表空间内的表在加载数据时是否产生日志,默认为产生日志(LOGGING),指明数据文件的路径与名字,表空间的大小,最后指定表空间的扩展方式是本地化管理EXTENTMANAGEMENTLOCAL,段空间的管理方式为自动SEGMENTSPACEMANAGEMENTAUTO。

操作步骤二:创建概要文件ADMINPROFILE来对数据库用户进行资源限制和密码管理限制用户在一次数据库会话期间可以使用的CPU时间为UNLIMITED,用户可打开的并发会话的最大数目为UNLIMITED,指定用户三次登录失败后锁定账户,设置使用一个特定密码的时间限制为30天,指定可重新使用密码前要经过100天。

操作步骤三:创建ADMIN用户设置ADMIN用户密码为admin,指定其概要文件为ADMINPROFILE,标志用户所创建对象的默认表空间为admin,用户的临时段表空间为temp,限制表空间存储对象为1M。

并授予ADMIN用户DBA权限。

操作步骤四:以AMDIN身份登录,执行lab1.sql脚本文件创建数据表。

2、TEACHER操作步骤一:创建表空间TEACHER操作步骤二:创建角色TEACHER该角色使用非验证方式。

将CONNECT角色授予TEACHER,给TEACHER角色授予查看学生信息,查看更新教师信息,查看排课记录,查看选课信息,更新选课信息中的成绩列、学号列和班级列记录,查看院系代码信息的权限。

操作步骤三:创建概要文件TEACHERPROFILE操作步骤四:创建用户teacher1,并将TEACHER权限授予teacher13、STUDENT操作步骤一:创建表空间STUDENT操作步骤二:创建概要文件STUDENT操作步骤三:创建角色STUDENT操作步骤四:创建用户CHENWEIXIAO(陈伟晓),并将STUDENT权限授予CHENWEIXIAO3.2、权限管理及安全信息查询1)系统管理员admin登录选课系统数据库,登录三次失败,第四次输入正确的密码进行登录,会出现什么情况?为什么?答:系统管理员admin登录三次失败,系统会提示“在3次尝试之后无法连接到ORACLE,退出SQL*PLUS”,第四次输入正确的密码进行登录,系统提示“theaccountislocked”,即账户被锁定,无法登录。

可以用sysassysdba登录,输入alteruseradminaccountunlock;命令对admin 进行解锁。

2)使teacher1具有创建数据表系统权限,以用户teacher1登录,创建一个部门代码表DepartmentInfo作为系统管理员创建的部门代码表的备份;答:以管理员admin登录,将创建表权限授予teacher1登录teacher1用户,系统提示密码过期,更改teacher1密码为sir后重新登录。

输入命令createtableDepartmentInfoasselect*fromadmin.DepartmentInfo;来创建表(当使用CREATETABLE…ASSELECT语句创建表时,Oracle将通过从admin.DepartmentInfo表中复制列来建立表。

在创建表后,Oracle就会使用从SELECT语句中返回的行来填充新表)。

3)用户teacher1登录,分配学生用户(你的名字的拼音)查看teacher1.DepartmentInfo记录的权限;学生用户登录,查看teacher1.DepartmentInfo中的记录;答:用teacher1登录,输入grantselectonteacher1.DepartmentInfotochenweixiao分配给我查看teacher1.DepartmentInfo记录的权限,再用chenweixiao登录,系统提示密码过期,修改密码为cwx后登录,输入selece*fromteacher1.DepartmentInfo;来查看记录4)取消用户teacher1创建数据表权限;取消学生用户查看teacher1.DepartmentInfo记录的权限;答:用系统管理员admin登录,用REVOKEsystem_privilegeFROMuser|role|public收回系统权限5)从数据库中删除用户teacher1。

答:用DROPUSERuser_name[CASCADE]语句即可删除用户,CASCADE选项可以删除该用户模式中的所有对象。

6)创建密码验证函数,要求密码至少包含大小写字母、数字和特殊字符(@#$%)中的一个,并且不少于8位。

然后将该密码验证函数应用于学生用户并验证效果(可选)SQL语句如下:CREATEORREPLACEFUNCTIONxiao_verify_function(usernamevarchar2,passwordvarchar2,old_passwordvarchar2)RETURNbooleanISnboolean;minteger;isdigitboolean;ischarboolean;ispunctboolean;digitarrayvarchar2(20);punctarrayvarchar2(25);chararrayvarchar2(52);BEGINdigitarray:='0123456789';chararray:='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';punctarray:='@#$%';--CheckfortheminimumlengthofthepasswordIFlength(password)<8THENraise_application_error(-20002,'Passwordlengthlessthan8');ENDIF;--Checkifthepasswordcontainsatleastoneletter,onedigitandone--punctuationmark.--1.Checkforthedigitisdigit:=FALSE;m:=length(password);FORiIN1..10LOOPFORjIN1..mLOOPIFsubstr(password,j,1)=substr(digitarray,i,1)THENisdigit:=TRUE;GOTOfindchar;ENDIF;ENDLOOP;ENDLOOP;IFisdigit=FALSETHENraise_application_error(-20003,'Passwordshouldcontainatleastonedigit,onecharactera ndonepunctuation');ENDIF;--2.Checkforthecharacter<<findchar>>ischar:=FALSE;FORiIN1..length(chararray)LOOPFORjIN1..mLOOPIFsubstr(password,j,1)=substr(chararray,i,1)THENischar:=TRUE;GOTOfindpunct;ENDIF;ENDLOOP;ENDLOOP;IFischar=FALSETHENraise_application_error(-20003,'Passwordshouldcontainatleastone\ digit,onecharacterandonepunctuation');ENDIF;--3.Checkforthepunctuation<<findpunct>>ispunct:=FALSE;FORiIN1..length(punctarray)LOOPFORjIN1..mLOOPIFsubstr(password,j,1)=substr(punctarray,i,1)THENispunct:=TRUE;GOTOendsearch;ENDIF;ENDLOOP;ENDLOOP;IFispunct=FALSETHENraise_application_error(-20003,'Passwordshouldcontainatleastone\ digit,onecharacterandonepunctuation');ENDIF;--Everythingisfine;returnTRUE;RETURN(TRUE);END;/将该密码验证函数应用于学生用户alterprofilestudentlimitpassword_verify_functionxiao_verify_function;3、数据库审计1)审计所有查询选课消息表(admin.selectiveInfo)的操作;AUDITSELECTONADMIN.SELECTIVEINFO;2)审计用ADMIN创建数据表的操作;AUDITCREATETABLEBYADMIN;3)审计所有数据更新操作;AUDITUPDATEANYTABLE;执行结果截图:。

相关文档
最新文档