实验四 Oracle 数据库安全管理
一、 实验目的
(1) 掌握 Oracle 数据库安全控制的实现。
(2) 掌握 Oracle 数据库用户管理。
(3) 掌握 Oracle 数据库权限管理。
(4) 掌握 Oracle 数据库角色管理。
(5) 了解 Oracle 数据库概要文件的管理。
(6) 了解 Oracle 数据库审计。
二、实验要求
(1) 为 ORCL 数据库创建用户。
(2) 为 ORCL 数据库用户进行权限授予与回收
(3) 为 ORCL 数据库创建角色,利用角色为用户授权。
(4) 为 ORCL 数据库创建概要文件,并指定给用户。
(5) 对 ORCL 数据库中的用户操作进行审计。
三、 实验内容
(1)创建一个名为 Tom 的用户,采用口令认证方式,口令为 Tom,默认表空间为 USERS表空间,临时表空间为 TEMP,在 USERS 表空间上配额为 10M,在 BOOKTBS1 表空间上的配额为 50M。
create tablespace BOOKTBS1 datafile 'd:/tbs1.dbf' size 50M; create user Tom identified by Tom default tablespace USERS temporary tablespace TEMP quota 10M on USERS quota 50M on BOOKTBS1;
(2)创建一个名为Joan的用户,采用口令认证方式,口令为Joan,默认表空间为BOOKTBS2表空间(实验3中题目2已创建),默认临时表空间为TEMP,在USERS表空间上配额为10MB,在BOOKTBS2表空间上的配额为20MB。该用户的初始状态为锁定状态。
create user Joan identified by Joan default tablespace BOOKTBS1 temporary tablespace TEMP quota 10 on USERS quota 20M on BOOKTBS1 account lock;
(3)为方便数据库中用户的登录,为 ORCL 数据库中所有用户授予 CREATE SESSION系统权限。
grant create session to public;
(4)分别使用 Tom 用户和 Joan 用户登录 ORCL 数据库,测试是否成功。
conn Joan/Joan@orcl conn Tom/Tom@orcl
(5)为 Joan 用户帐户解锁,并重新进行登录。
alter user Joan account unlock;
(6)为 Tom 用户授予 CREATE TABLE、 CREATE VIEW 系统权限,并可以进行权限传递;
grant create table,create view to Tom with admin option;
(7)Tom 用户回收其授予 Joan 用户的 CREATE VIEW 的系统权限。
conn Tom/Tom@orcl as sysdba grant create view to Joan; revoke create view from Joan;
(8)分别查询 Tom 用户、Joan 用户所具有的对象权限和系统权限详细信息。
conn Tom/Tom@orcl 系统权限:select * from user_sys_privs; 对象权限:desc user_tab_privs;
conn Joan/Joan@orcl 系统权限:select * from user_sys_privs; 对象权限:desc user_tab_privs;
(9)将 bs_role 角色授予 Joan 用户,将 CREATE SESSION、 RESOURCE、 bs_role 角色授予 Tom 用户。
create role bs_role; grant bs_role to Joan; grant create session,resource,bs_role to Tom;
(10)创建一个 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;
(11)创建一个概要文件 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_session 1000 failed_login_attempts 3 password_lock_time 7;
(12)将概要文件bs_profile1指定给Tom用户,将概要文件bs_profile2指定给Joan用户。
alter user Tom profile bs_profile1; alter user Joan profile bs_profile2;
(13)利用Tom用户登录ORCL数据库,连续两次输入错误口令,查看账户状态;利用Joan用户登录ORCL数据库,测试最多可以启动多少个会话。
conn Joan/Joan as sysdba select count(*) from v$session;
四、问题解答及实验结果
新建一个word,命名为“X班+学号+姓名+实验四”将相关代码及代码测试成功的截图放到相应题号下面。
- 实验体会与收获