11g口令区分大小写

 

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导入导出数据
则导入后口令不区分大小写

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

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

查看口令版本

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
  2  ;
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.


 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13177610/viewspace-712732/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/13177610/viewspace-712732/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值