• Oracle Profile文件


    一、Profile文件概述:Profiles是Oracle安全策略的一个组成部分,当Oracle建立数据库时,会自动建立名称为Default的profile,当建立用户没有指定profile,那么oracle就将defalut分配给用户。

    1、默认情况下,用户连接数据库,形成回话,使用CPU和内存资源是没有限制的。但是在一些高并发的应用,且多个应用部署到同一服务器上时,因为服务器的CPU和内存是有限的,所以,大多数企业会根据应用对于自身的重要性,来对各个库进行内存和CPU的分配。除此之外,还有用户的密码管理,用户的登录尝试次数,用户的密码锁定后多长时间释放,密码生命周期等参数都是通过Profile来设置的,当然这里只列举了一下部分!

    2、Profile文件主要规定了资源使用的限制和密码(也就是口令)使用的规则,Profile定义之后,可以做用到每个用户之上,对每个用户的安全活动进行限制。

    3、下面Oracle建立数据库时,生成的名为Default的profile

    4、配置文件创建方法

    create profile 配置文件名 limit

    配置参数1 值1

    配置参数2 值2

     

    5、配置文件的使用方法

    5.1、将配置文件中的规则指定给特定的用户,这里拿Failed_Login_Attempts(在账户被锁定前允许的登录次数)举例,其他的规则也是一样,如果要指定个特定的用户

    左图创建了一个test规则的profile,允许用户在被锁定前,登录三次,如果失败被锁定2天,并将这个profile赋给了scott用户,也就是说这个规则只是用于scott用户

    连续登录三次,失败后,账户被锁定,如何解锁用户请参考Oracle 系统常用命令

    5.2、修改默认的profile,使其作用于所有的用户

    左图修改了安装数据库默认产生的profile文件,并修改了其参数,使所有的用户必须在13天内修改密码,否则将无法登录,如果不理解口令,下面有介绍。

    6、删除profile

     

    二、Profile  口令管理

    1、Composite_Limite 

    指定一个会话的总的资源消耗, 以service units单位表示。oracle数据库以有利的方式计算cpu_per_session, connect_time, logical_reads_per_session和private-sga总的service units

    2、Session_Per_User 

    指定限制用户的并发会话的数目

    3、Cpu_Per_Session

    指定会话的cpu时间限制, 单位为百分之一秒

    4、Cpu_Per_Call

    指定一次调用(解析、执行和提取)的cpu时间限制, 单位为百分之一秒

    5、Logical_Reads_Per_Session

    指定一个会话允许读的数据块的数目, 包括从内存和磁盘读的所有数据块

    6、Logical_Read_Per_Call

    指定一次执行sql(解析、执行和提取)调用所允许读的数据块的最大数目

    7、Idle_Time

    指定会话允许连续不活动的总的时间, 以分钟为单位, 超过该时间, 会话将断开。但是长时间运行查询和其他操作的不受此限制 

    8、Connect_Time

    指定会话的总的连接时间, 以分钟为单位

    9、Private_Sga

    指定一个会话可以在共享池(sga)中所允许分配的最大空间, 以字节为单位。(该限制只在使用共享服务器结构时才有效, 会话在sga中的私有空间包括私有的sql和pl/sql, 但不包括共享的sql和pl/sql)

    10、Failed_Login_Attempts和Password_Lock_Time

    Failed_Login_Attempts设置账户在被锁定之前允许登录的次数

    Password_Lock_Time 指定帐户被锁定的天数. 1/24/60对应的是1分钟. 但是, 1分钟后只有密码正确了, 才可以自动解锁. 如果该参数最后的值是UNLIMITED, 或需要立即给帐户解锁, 就需要DBA用手动方式来给帐户解锁.

    11、 Password_Life_Time与Password_Grace_Time

    他的作用是:强迫除dba之外的用户在设置的天数内修改密码!!!

    这两个口令是结合起来使用的,Password_Life_Time指定用户账户的有效期,到达这个天数的用户叫做到期用户,到期账户会在登陆时,被提醒将在多少天后过期,但仍然可以使用该口令,因为Password_Grace_Time可以设定一个宽限天数,如果在Password_Grace_Time规定的宽限天数内,仍然没有修改口令,则账户过期,将过期账户,即不能登录数据库。代码如下:

    a、设置所有的用户的密码将在3天后到期,并且宽限时间为10天(也就是给他们10天时间去修改密码),也就是说超过了13天之后用户还没有修改登录口令(密码),用户将无法正常登陆数据库。

     设置完之后可以正常登录,而且没有提醒,因为还没有过三天

    现在将系统时间设置到3天之后,再次连接登录

    出现提醒:提示当前用户,它的登录口令将在10天后过期,但是此时还是可以正常连接到数据库

    现在将系统时间设置到10天后,在进行登录

    出现提示:当前用户的密码已经过期,并且强制使用户修改密码,而且登录失败。

    12、Password_Rescue_Time和Password_Rescue_Max

    13、password_verify_function

    使用系统口令校验函数verify_function, 改成校验函数后实现以下口令规则:

    口令不能少于4个字符

    口令不能与用户名相同

    口令至少包含一个字符, 一个数字和一个特殊字符($, _, #, !等)

       

  • 相关阅读:
    hive_case
    hive_group
    linux-搭建ngnix
    Nfs服务器搭建
    几种常见的启动脚本
    linux 修改本机的端口映射
    oracle-sql计算
    linux 磁盘大小查看
    postMan测试接口的几种方式
    oracle迁移到12c的时列转行 wm_concat 报错解决
  • 原文地址:https://www.cnblogs.com/GreenLeaves/p/6612806.html
Copyright © 2020-2023  润新知