概要文件:
数据库和系统资源限制集合,是oracle数据库安全策略的重要组成部分,利用概要文件,可以限制用户对数据库和系统资源的使用,同时还可以对用户口令进行管理
在oracle数据库创建的同时,系统会创建一个名为DEFAULT的默认概要文件,如果没有为用户指定一个概要文件,系统默认将DEFAULT概要文件作为用户的概要文件,由于DEFAULT
概要文件中没有对资源进行任何限制,因此根据需要为用户创建概要文件
限制参数分为资源参数和密码参数:
资源参数:
CONNECT_TIME:指定一个会话能保持连接到数据库的总时间
CPU_PER_CALL:限制事务中每个调用cpu的时间
CPU_PER_SESSION:限制会话中每个调用cpu的时间
SESSIONS_PER_USER:指定用户可以打开并发会话的最大个数
IDLE_TIME:限制一个会话限制的时间量
LOGICAL_READS_PER_SESSION:限制数据块读取的总数目
LOGICAL_READS_PER_CALL:限制每个会话调用的逻辑读取数
PRIVATE_SGA:指定一个会话在sga共享池组件中分配的空间限制
COMPOSITE_LIMIT:对资源使用设置一个总的限制,此组合是对前面描述的某几个资源参数的综合性的限制
密码参数:
FAILD_LOGIN_ATTEMPTS:指定一个用户在被锁定之前可以尝试登录的次数
PPASSWORD_LIFE_TIME:如果在这个时间不更改密码,将无法登陆
PASSWORD_GRACE_TIME:在此时间段发出密码过期警告,如不更改,在此时间段后将无法登陆数据库
PASSWORD_LOCK_TIME:不成功登陆最大次数后,被锁定的时间
PASSWORD_REUSE_TIME:指定可重新使用相同密码前要经过的天数
PASSWORD_REUSE_MAX:确定在可以重新使用某个特定密码前可更改该密码的次数
PASSWORD_VERIFY_FUNCTION:如果不希望使用oracle提供的默认验证函数,此参数允许你指定自己的密码认证函数
例如:
指定scott这个用户最多只能尝试3次登录,锁定时间为2天:
1.创建一个profile 文件
Create profile lock_account limit failed_login_attempts 3 password_lock_time 2;
注意红色字体为固定语法
2.指定用户
Alter user zbcxy profile lock_account;
解锁:
alter user zbcxy account unlock
让用户定期修改密码,让用户,每隔10天要修改自己的登录密码,宽限期为2天:
Create profile myprofile password_life_time 10 password_grace_time 2;
Alter user zbcxy profile myprofile;
如果希望用户修改密码的时候,不能使用以前的密码,可以使用口令历史。
Create profile password_history limit password_life_time10 password_grace_time 2 password_reuse_time 10
指定口令可重用,时间即10天后就可以重用。
创建test_res_profile概要文件, 并设置SESSIONS_PER_USER2 、 CONNECT_TIME 1 、 IDLE_TIME 1;
create profile test_res_profile limitsessions_per_user 2 connect_time 1 idle_time 1;
创建test_pwd_profile概要文件, 设置 failed_login_attempts 2 password_lock_time 5 ;
create profile test_pwd_profile limitfailed_login_attempts 2 password_lock_time 5;
删除profile:
drop profile password_history
注意事项:
当同时给用户指定两个概要文件时,只有后面指定的概要文件生效。
关于查询:
查询当前用户下被限制的资源
select * from user_resource_limits;
select * from user_password_limits;
查询所有的概要文件:
select * from dba_profiles;