博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle 10g和Oracle 11g、12c 关于关于启用或禁用密码大小写敏感性的问题讨论
阅读量:4042 次
发布时间:2019-05-24

本文共 4343 字,大约阅读时间需要 14 分钟。

Oracle 10g和Oracle 11g、12c 关于关于启用或禁用密码大小写敏感性的问题讨论

默认情况下,当在Oracle 10g以后的版本中创建或修改用户帐户时,密码是区分大小写的。为了控制密码中的区分大小写的使用,可以通过设置SEC_CASE_SENSITIVE_LOGON 初始化参数来进行控制。只有具有ALTE SYSTEM 特权的用户可以改变SEC_CASE_SENSITIVE_LOGON 初始化参数的设置。

当其值设置为 TRUE 时,启用区分大小写;当其值设置为 FALSE 时,禁用大小写敏感度。

在Oracle 11g 和 Oracle 12c 版本中,默认值是:TRUE。            

SQL> select banner from v$version;BANNER----------------------------------------------------------------------------------------------------------------------------------------------------------------Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit ProductionPL/SQL Release 12.2.0.1.0 - ProductionCORE    12.2.0.1.0      ProductionTNS for 64-bit Windows: Version 12.2.0.1.0 - ProductionNLSRTL Version 12.2.0.1.0 - Production已选择 5 行。已用时间:  00: 00: 00.60SQL> show parameter SEC_CASE_SENSITIVE_LOGON;NAME                                 TYPE                   VALUE------------------------------------ ---------------------- ------------------------------sec_case_sensitive_logon             boolean                TRUESQL>

为了获得更大的安全性,Oracle建议您启用密码中的大小写敏感度。但是,如果您的应用程序有兼容性问题,可以使用此参数禁用密码大小写敏感性。应用程序兼容性问题的例子是应用程序的密码被硬编码为不区分大小写,或者不同的应用程序模块在发送凭据以启动数据库会话时大小写敏感性不一致。

当启用独占模式时,不要将SEC_CASE_SENSITIVE_LOGON参数设置为FALSE(SQLNET.ALLOWED_LOGON_VER.参数设置为11),因为在独占模式中使用的更安全的验证器仅支持区分大小写的密码检查。由于兼容性的原因,当SQLNET.ALLOWED_LOGON_VER.参数设置为11时,Oracle数据库并不限制使用SEC_CASE_SENSITIVE_LOGON初始化参数的值为 FALSE 的设置。 

在Oracle官方文档中这样描述:

To enable case sensitivity in passwords:

  1. If you are using a password file, ensure that it was created with the IGNORECASE parameter set to N.

    The IGNORECASE parameter overrides the SEC_CASE_SENSITIVE_LOGON parameter. By default, IGNORECASE is set to Y, which means that passwords are treated as case-insensitive. For more information about password files, see .

  2. Enter the following ALTER SYSTEM statement:

    ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = TRUE

Finding the Password Versions of User Accounts

In previous releases of Oracle Database, passwords were not case sensitive. If you import user accounts from a previous release, for example, Release 10g, into the current database release, the case-insensitive passwords in these accounts remain case insensitive until the user changes his or her password. If the account was granted SYSDBA or SYSOPER privilege, it is imported to the password file. (See for more information.) When a password from a user account from the previous release is changed, it then becomes case sensitive.

如果您从以前的版本导入用户帐户,并且这些帐户是用SYSDBA或SYSOPER特权创建的,那么这些帐户将包含在密码文件中。这些帐户的密码不区分大小写。下一次用户更改密码时,如果启用了区分大小写,密码将变得区分大小写。为了获得更大的安全性,让这些用户更改密码。

You can find users who have case sensitive or case insensitive passwords by querying the DBA_USERS view. The PASSWORD_VERSIONS column in this view indicates the release in which the password was created. For example:

SELECT USERNAME,PASSWORD_VERSIONS FROM DBA_USERS;USERNAME                       PASSWORD_VERSIONS------------------------------ -----------------JONES                          10G 11GADAMS                          10G 11GCLARK                          10G 11GPRESTON                        11GBLAKE                          10G

帐户JONES、ADAMS和CLARK的密码最初是在版本10G中创建的,然后在版本11G中重置。他们的密码,如果已经启用了情况敏感度,现在是区分大小写的,就像PRESTON的密码一样。然而,BLAKE的帐户仍然使用Oracle 10g中的标准,所以它是不区分大小写的。这时,要求他重置他的密码,使其对大小写敏感,因此更安全。  

在Oracle 12c 中的查询是这样:

SQL> SELECT USERNAME,PASSWORD_VERSIONS FROM DBA_USERS order by username asc;USERNAME                       PASSWORD_VERSIONS------------------------------ ----------------------------------ANONYMOUSAPPQOSSYS                      11G 12CAUDSYS                         11G 12CBI                             11G 12CC##TESTUSER                    11G 12CCTXSYS                         11G 12CDBSFWUSER                      11G 12CDBSNMP                         11G 12CDIP                            11G 12CDVF                            11GDVSYS                          11GGGSYS                          11G 12CGSMADMIN_INTERNAL              11G 12CGSMCATUSER                     11G 12CGSMUSER                        11G 12CHR                             11G 12C

区分大小写对密码文件的影响

可以在ORAPWD命令创建密码时使用 ignorecase 参数来启用或者禁用密码对大小写的敏感性。默认值是N,即默认情况下是启用密码大小写敏感性的。

例如:

orapwd file=orapw entries=100 ignorecase=nEnter password for SYS: password

 以上使用orapwd命令创建了一个新的密码文件,因为 ignorecase 参数默认值是 N ,所以后面输入的密码时区分大小写的。在以后使用密码时,也需要注意区分大小写;否则会提示密码错。

 

参考Oracle官方文档:

 

 

 

 

 

 

转载地址:http://bytdi.baihongyu.com/

你可能感兴趣的文章
linux config
查看>>
linux insmod error -1 required key invalid
查看>>
linux kconfig配置
查看>>
linux不同模块completion通信
查看>>
linux printf获得时间戳
查看>>
C语言位扩展
查看>>
linux dump_backtrace
查看>>
linux irqdebug
查看>>
git 常用命令
查看>>
linux位操作API
查看>>
uboot.lds文件分析
查看>>
uboot start.s文件分析
查看>>
没有路由器的情况下,开发板,虚拟机Ubuntu,win10主机,三者也可以ping通
查看>>
本地服务方式搭建etcd集群
查看>>
安装k8s Master高可用集群
查看>>
忽略图片透明区域的事件(Flex)
查看>>
忽略图片透明区域的事件(Flex)
查看>>
AS3 Flex基础知识100条
查看>>
Flex动态获取flash资源库文件
查看>>
flex中设置Label标签文字的自动换行
查看>>