按老师要求先写的实验七再写的实验四,很多表没有建立,后续更新实验四
(实验目的及要求)
实验目的
(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。
createtablespace users
2 datafile 'D:\programming\oracle practice\users02.dbf' size 10M;createuser Tom
2 identified by Tom
3defaulttablespace users
4 quota 10M on users quota 50M on booktbs1
5Temporarytablespacetemp;
(2)创建一个名为Joan的用户,采用口令认证方式,口令为Joan,默认表空间为BOOKTBS2表空间(实验3中题目2已创建),默认临时表空间为TEMP,在USERS表空间上配额为10MB,在BOOKTBS2表空间上的配额为20MB。该用户的初始状态为锁定状态。
createtablespace booktbs2 datafile
'D:\programming\oracle practice\bt05.dbf'size 100M
extent management local uniform size 1M
segment space management manual;
createuser Joan
identified by Joan
defaulttablespace booktbs2
temporarytablespacetemp
quota 10M on users quota 20M on booktbs2
account lock;
(3)为方便数据库中用户的登录,为 ORCL 数据库中所有用户授予 CREATE SESSION系统权限。
grantcreatesessiontopublic;
(4)分别使用 Tom 用户和 Joan 用户登录 ORCL 数据库,测试是否成功。
conn Tom/Tom@orcl
conn Joan/Joan@orcl
解锁
(5)为 Joan 用户帐户解锁,并重新进行登录。
conn sys as sysdba
alteruser Joan account unlock;
(6)Tom 用户和 Joan 用户登录成功后,分别查询 Tom 表、Joan 表中的数据。
因为没数据所以查不到
conn Tom/Tom@orclselect*from Tom;
conn Joan/Joan@orclselect*from Joan;
(7)为 Tom 用户授予 CREATE TABLE、 CREATE VIEW 系统权限,并可以进行权限传递;将图书销售系统中的各个表的SELECT、UPDATE、DELETE、INSERT 对象权限授予 Tom用户,也具有传递性。
grantcreatetable,createviewto Tom;
grantselect,update,delete,inserton student to Tom;
创建student表(图书销售系统表)
(8)Tom 用户将图书销售系统中的 customers 表、 publishers 表、 books 表的查询权限以及CREATE VIEW、 CREATE TABLE 的系统权限授予 Joan 用户。
grantselecton bs.customers to Joan;grantselecton bs.publishers to Joan;grantselecton bs.books to Joan;
创图书销售系统各表
(9)利用 Joan 用户登录 ORCL 数据库, 查询 customers 表、 publishers 表、 books 表中的数据。 创建一个包含出版社及其出版的图书信息的视图publisher_book。
select*from bs.customers;select*from bs.publishers;select*from bs.books;
(10)Tom 用户回收其授予 Joan 用户的 CREATE VIEW 的系统权限。
revokecreateviewfrom Joan;
(11)Tom 用户回收其授予 Joan 用户的在 customers 表上的 SELECT 权限。
revokeselecton bs.customers from Joan;
(12)利用 system用户登录ORCL数据库, 回收Tom用户所有具有的 CREATE TABLE系统权限以及在 customers 表、 publishers 表、 books 表上 SELECT 权限。
conn system/*****@orclrevokecreatetablefrom Tom;revokeselecton bs.customers from Tom;revokeselecton bs.publishers from Tom;revokeselecton bs.books from Tom;
(13)分别查询 Tom 用户、Joan 用户所具有的对象权限和系统权限详细信息。
conn Tom/Tom@orclselect*from user_sys_privs;
conn Joan/Joan@orclselect*from user_sys_privs;
(14)创建一个角色 bs_role,将 ORCL 数据库中 books 表的所有对象权限以及对customers 表、 publisher 表、orders 表的 SELECT 权限授予该角色。
create role bs_role not identified;grantselect,update,delete,inserton bs.books to bs_role;grantselecton bs.customers to bs_role;grantselecton bs.publisher to bs_role;grantselecton bs.orders to bs_role;
(15)将 bs_role 角色授予 Joan 用户,将 CREATE SESSION、 RESOURCE、 bs_role 角色授予 Tom 用户。
grant bs_role to Joan;grantcreatesession,resourece,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 10000
FAILED_LOGIN_ATTEMPTS 3
PASSWORD_LOCK_TIME 7;
(18) 将概要文件bs_profile1指定给Tom用户,将概要文件bs_profile2指定给Joan用户。
alteruser Tom profile bs_profile1;alteruser Joan profile bs_profile2;
(19)利用Tom用户登录ORCL数据库,连续两次输入错误口令,查看账户状态;利用Joan用户登录ORCL数据库,测试最多可以启动多少个会话。
conn Tom/2@orcl;
conn Tom/2@orcl;
conn Tom/2@orcl;
版权归原作者 佳美不ERROR 所有, 如有侵权,请联系我们删除。