Oracle实验一--数据库安全管理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 TED
CPU_PER _SESSION=UNLIMITE D
角色:CONNECT
对象权限:
查看学生信
息
查看教师信
息
更新教师信
息
查看排课记
录
更新和查看
选课信息
中成绩
列,学号
列以及班
级列记录
查看院系代
码信息
登
录时修
改密码;
SESSION
S_PER_USER=2
IDLE_TI
ME=30
CONNECT
_TIME=60
角色:CONNECT
对象权限:
查看学生信
登
录时修
改密码;
SESSION
S_PER_USER=1
IDLE_TI
ME=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。