Oracle实验一数据库安全管理Word文档下载推荐.docx
- 文档编号:14528708
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:15
- 大小:402.70KB
Oracle实验一数据库安全管理Word文档下载推荐.docx
《Oracle实验一数据库安全管理Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Oracle实验一数据库安全管理Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。
密码管理
资源限制
Admin,20M
用户:
系统管理员(admin)
角色:
DBA
✓三次登录失败,锁定账户;
✓使用30天后需要更改密码;
✓旧密码过期后100天内不能重用;
✓SESSIONS_PER_USER=UNLIMITED
✓CPU_PER_SESSION=UNLIMITED
Teacher,2M
教师(teacher)用户:
teacher1
CONNECT
对象权限:
✓查看学生信息
✓查看教师信息
✓更新教师信息
✓查看排课记录
✓更新和查看选课信息中成绩列,学号列以及班级列记录
✓查看院系代码信息
✓登录时修改密码;
✓SESSIONS_PER_USER=2
✓IDLE_TIME=30
✓CONNECT_TIME=60
Student,2M
学生(student)用户:
(用你的名字的拼音)
CONNECT
✓查看课程信息
✓查看选课信息
✓SESSIONS_PER_USER=1
✓IDLE_TIME=20
✓CONNECT_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权限授予teacher1
3、STUDENT
创建表空间STUDENT
创建概要文件STUDENT
创建角色STUDENT
创建用户CHENWEIXIAO(陈伟晓),并将STUDENT权限授予CHENWEIXIAO
3.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)
RETURNbooleanIS
nboolean;
minteger;
isdigitboolean;
ischarboolean;
ispunctboolean;
digitarrayvarchar2(20);
punctarrayvarchar2(25);
chararrayvarchar2(52);
BEGIN
digitarray:
='
0123456789'
;
chararray:
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
punctarray:
='
@#$%'
--Checkfortheminimumlengthofthepassword
IFlength(password)<
8THEN
raise_application_error(-20002,'
Passwordlengthlessthan8'
);
ENDIF;
--Checkifthepasswordcontainsatleastoneletter,onedigitandone
--punctuationmark.
--1.Checkforthedigit
isdigit:
=FALSE;
m:
=length(password);
FORiIN1..10LOOP
FORjIN1..mLOOP
IFsubstr(password,j,1)=substr(digitarray,i,1)THEN
=TRUE;
GOTOfindchar;
ENDLOOP;
IFisdigit=FALSETHEN
raise_application_error(-20003,'
Passwordshouldcontainatleastonedigit,onecharacterandonepunctuation'
--2.Checkforthecharacter
<
<
findchar>
>
ischar:
FORiIN1..length(chararray)LOOP
IFsubstr(password,j,1)=substr(chararray,i,1)THEN
GOTOfindpunct;
IFischar=FALSETHEN
Passwordshouldcontainatleastone\
digit,onecharacterandonepunctuation'
--3.Checkforthepunctuation
findpunct>
ispunct:
FORiIN1..length(punctarray)LOOP
IFsubstr(password,j,1)=substr(punctarray,i,1)THEN
GOTOendsearch;
IFispunct=FALSETHEN
--Everythingisfine;
returnTRUE;
RETURN(TRUE);
END;
/
将该密码验证函数应用于学生用户
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 实验 数据库 安全管理
![提示](https://static.bdocx.com/images/bang_tan.gif)