• 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 users
      2  datafile 'D:\programming\oracle practice\users02.dbf' size 10M;
    
      create user Tom
      2   identified by Tom
      3  default tablespace users
      4   quota 10M on users quota 50M on booktbs1
      5   Temporary tablespace temp;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    (2)创建一个名为Joan的用户,采用口令认证方式,口令为Joan,默认表空间为BOOKTBS2表空间(实验3中题目2已创建),默认临时表空间为TEMP,在USERS表空间上配额为10MB,在BOOKTBS2表空间上的配额为20MB。该用户的初始状态为锁定状态。

     create tablespace booktbs2 datafile
    
    • 1
     'D:\programming\oracle practice\bt05.dbf'size 100M
    
    • 1
     extent management local uniform size 1M
    
    • 1
     segment space management manual;
    
    • 1
    create user Joan
    
    • 1
     identified by Joan
    
    • 1
    default tablespace booktbs2
    
    • 1
     temporary tablespace temp
    
    • 1
     quota 10M on users quota 20M on booktbs2
    
    • 1
    account lock;
    
    • 1

    在这里插入图片描述

    (3)为方便数据库中用户的登录,为 ORCL 数据库中所有用户授予 CREATE SESSION系统权限。

    grant create session to public;
    
    • 1

    在这里插入图片描述

    (4)分别使用 Tom 用户和 Joan 用户登录 ORCL 数据库,测试是否成功。

    conn Tom/Tom@orcl
    conn Joan/Joan@orcl
    
    • 1
    • 2

    解锁
    在这里插入图片描述

    (5)为 Joan 用户帐户解锁,并重新进行登录。

    conn sys as sysdba
    
    • 1
    alter user Joan account unlock;
    
    • 1

    在这里插入图片描述

    (6)Tom 用户和 Joan 用户登录成功后,分别查询 Tom 表、Joan 表中的数据。
    因为没数据所以查不到

    conn Tom/Tom@orcl
    select * from Tom;
    conn Joan/Joan@orcl
    select * from Joan;
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    (7)为 Tom 用户授予 CREATE TABLE、 CREATE VIEW 系统权限,并可以进行权限传递;将图书销售系统中的各个表的SELECT、UPDATE、DELETE、INSERT 对象权限授予 Tom用户,也具有传递性。

    grant create table ,create view to Tom;
    
    • 1
     grant select,update,delete,insert on student to Tom;
    
    • 1

    创建student表(图书销售系统表)
    在这里插入图片描述
    在这里插入图片描述

    (8)Tom 用户将图书销售系统中的 customers 表、 publishers 表、 books 表的查询权限以及CREATE VIEW、 CREATE TABLE 的系统权限授予 Joan 用户。

    grant select on bs.customers to Joan;
    grant select on bs.publishers to Joan;
    grant select on bs.books to Joan;
    
    
    • 1
    • 2
    • 3
    • 4

    创图书销售系统各表
    在这里插入图片描述

    (9)利用 Joan 用户登录 ORCL 数据库, 查询 customers 表、 publishers 表、 books 表中的数据。 创建一个包含出版社及其出版的图书信息的视图publisher_book。

    select * from bs.customers;
    select * from bs.publishers;
    select * from bs.books;
    
    
    • 1
    • 2
    • 3
    • 4

    (10)Tom 用户回收其授予 Joan 用户的 CREATE VIEW 的系统权限。

     revoke create view  from Joan;
    
    • 1

    在这里插入图片描述

    (11)Tom 用户回收其授予 Joan 用户的在 customers 表上的 SELECT 权限。

    revoke select on bs.customers from Joan;
    
    
    • 1
    • 2

    在这里插入图片描述

    (12)利用 system用户登录ORCL数据库, 回收Tom用户所有具有的 CREATE TABLE系统权限以及在 customers 表、 publishers 表、 books 表上 SELECT 权限。

    conn system/*****@orcl  
    revoke create table from Tom;
    revoke select on bs.customers from Tom;
    revoke select on bs.publishers from Tom;
    revoke select on bs.books from Tom;
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    (13)分别查询 Tom 用户、Joan 用户所具有的对象权限和系统权限详细信息。

    conn Tom/Tom@orcl
    select * from user_sys_privs;
    conn Joan/Joan@orcl
    select * from user_sys_privs;
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    (14)创建一个角色 bs_role,将 ORCL 数据库中 books 表的所有对象权限以及对customers 表、 publisher 表、orders 表的 SELECT 权限授予该角色。

    create role bs_role not identified;
    grant select,update,delete,insert on bs.books to bs_role;
    grant select on bs.customers to bs_role;
    grant select on bs.publisher to bs_role;
    grant select on bs.orders to bs_role;
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    (15)将 bs_role 角色授予 Joan 用户,将 CREATE SESSION、 RESOURCE、 bs_role 角色授予 Tom 用户。

    grant bs_role to Joan;
    grant create session,resourece,bs_role to Tom;
    
    
    • 1
    • 2
    • 3

    (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;
    
    
    • 1
    • 2

    在这里插入图片描述

    (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;
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    (18) 将概要文件bs_profile1指定给Tom用户,将概要文件bs_profile2指定给Joan用户。

    alter user Tom profile bs_profile1;
    alter user Joan profile bs_profile2;
    
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    (19)利用Tom用户登录ORCL数据库,连续两次输入错误口令,查看账户状态;利用Joan用户登录ORCL数据库,测试最多可以启动多少个会话。

    conn Tom/2@orcl;
    conn Tom/2@orcl;
    conn Tom/2@orcl;
    
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

  • 相关阅读:
    SQL库函数
    使用jquery动态拼接html页面及数据
    细粒度特征提取和定位用于目标检测:PPCNN
    文本焦点小程序
    C++继承
    图像预处理技术与算法
    [附源码]SSM计算机毕业设计基于健身房管理系统JAVA
    粗糙集知识约简的python代码
    ios开发入门
    vue中自定义指令的使用场景及示例
  • 原文地址:https://blog.csdn.net/weixin_57780589/article/details/127749462