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个字符

口令不能与用户名相同

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏惨绿少年

KICKSTART无人值守安装

1.1 环境说明 [root@test ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [roo...

2780
来自专栏Debian社区

Debian 9 安装配置 Caddy Server

Caddy 是一个用 Golang 开发的高效 Web Server,相比 Nginx,它的配置和使用要简单很多,能自动开启 HTTPS、并且支持 HTTP/2...

5822
来自专栏Java技术分享

Jrebel6.3.3破解,配置图文教程

JRebel是个很好的开发工具,我在网上找了好久都没有找到很详细的教程,破解与配置教程千篇一律,步骤不详细。编写这篇教程,综合网络上的知识,加上了自己的理解与详...

33510
来自专栏编程坑太多

『高级篇』docker之kubernetes基础集群附在功能kube-proxy和kube-dns(36)

每台工作节点上都应该运行一个kube-proxy服务,它监听API server中service和endpoint的变化情况,并通过iptables等来为服务配...

1272
来自专栏Laoqi's Linux运维专列

Saltstack 远程操作(Ⅱ)

1895
来自专栏java一日一条

Spring @Transactional工作原理

本文将深入研究Spring的事务管理。主要介绍@Transactional在底层是如何工作的。

1412
来自专栏云计算教程系列

如何在Ubuntu 18.04上使用Gunicorn和Nginx为Flask应用程序提供服务

在本指南中,您将使用Ubuntu 18.04上的Flask微框架构建Python应用程序。本文的大部分内容将涉及如何设置Gunicorn应用程序服务器以及如何启...

2161
来自专栏Python

centos7 nginx安装 及MySQL-python

3215
来自专栏云计算教程系列

使用FreeIPA对Linux用户权限统一管理

在未部署统一身份管理系统时,管理员需要分别在每一台主机上为对应的系统管理员创建、维护账号和密码,无法进行统一的管理。当主机数量增加到一定程度后,也将难以进行有效...

6433
来自专栏WindCoder

边学边用Gradle:Gradle的脚本结构

配置此项目的构建脚本类路径。可声明用于编译和执行构建脚本的类路径。该类路径也用于加载构建脚本使用的插件。

810

扫码关注云+社区

领取腾讯云代金券