11g口令区分大小写

来源:互联网 发布:淘宝如何图片搜索 编辑:程序博客网 时间:2024/05/22 21:36

11g口令区分大小写


由参数sec_case_sensitive_logon控制
参数值为true区分、false为不区分
系统默认情况为区分


--查看当前参数值
SQL> show parameter logon

NAME                            TYPE        VALUE
------------------------------- ----------- ------
sec_case_sensitive_logon        boolean     TRUE


--更改测试用户口令
--尝试连接出错
--严格按照大小写输入后才可以登陆
SQL> alter user an identified by An;
User altered.

SQL> conn an/an
ERROR:
ORA-01017: invalid username/password; logon denied
Warning: You are no longer connected to ORACLE.


SQL> conn an/An
Connected.


--修改参数值到false
--关闭识别大小写特征
--关闭后不区分大小写也可以登陆
SQL> alter system set sec_case_sensitive_logon=false;

System altered.

SQL> conn an/an
Connected.

-------------------------

升级中相关的口令大小写问题

使用dbua或者catupgrade.sql升级
原有的口令管理方式是不变的
也就是说升级后原来的密码也是不区分大小写的

如果使用exp或者expdp导入导出数据(包括查出password散列值手工创建用户)
则导入后口令不区分大小写

想要使用区分大小写的口令必须手动设置

--------------------------

查看口令版本

SQL> select username,password_versions from dba_users;

USERNAME                       PASSWORD
------------------------------ --------
SYS                            10G 11G
SYSTEM                         10G 11G
DBSNMP                         10G 11G
AN                             10G 11G

dba_users字典表中password_versions字段中如果只有10g一个值
标识数据库升级后原有口令没有改变,口令不区分大小写
如果不是则是区分大小写的

--------------------------

口令文件

使用orapwd创建口令文件,添加ignorecase=n表示创建的口令文件区分大小写
默认情况下是不区分的

--------------------------

用户默认口令

11g增加字典表dba_users_with_defpwd来记录使用默认密码的用户

SQL> select * from dba_users_with_defpwd;

USERNAME
------------------------------
XS$NULL
MDSYS
SPATIAL_WFS_ADMIN_USR
OUTLN
CTXSYS
OLAPSYS

------------------------------

散列密码的查询

11g之前的数据库即使不知道数据库密码,通过字典表dba_users中pwssword字段可以查询出密码的加密散列值
通过记录这个值,可以在修改密码后将系统原有密码重置回去
alter user xx identified by values 'xxxxx';
11g中提高了对散列加密密码的保护
在dba_users中不再记录这个值
如果要查询这个值必须要能够查询users$中的password

SQL> select name,password from user$;

NAME                PASSWORD
------------------- ----------------
SYS                 8A8F025737A9097A

 

口令验证函数

11g中可以运行脚本utlpwdmg.sql来创建口令验证程序
避免系统中再出现弱口令

11g中合法的口令包括如下种类:
不少于8个字符长度
必须至少一个字母和数字
不能是简单的或者常用的,如welcome1、abcdefg1
不能是oracle或者oracle附加数字1到100
不能是用户名、用户名反拼或者用户名附加1到100的数字
不能是服务器名或者服务器名附加1到100的数字
必须和以前的口令至少相差3个字符

SQL> alter user an identified by oracle1;
alter user an identified by oracle1
*
ERROR at line 1:
ORA-28003: password verification for the specified password failed
ORA-20001: Password length less than 8


SQL> alter user an identified by welcome1;
alter user an identified by welcome1
*
ERROR at line 1:
ORA-28003: password verification for the specified password failed
ORA-20006: Password too simple

SQL> alter user an identified by Anbaisheng1;

User altered.

0 0
原创粉丝点击