在Oracle的11g之前的版本中密码是不区分大小写的(使用双引号强制除外)。在Oracle的11g版本中对此有所增强。从此密码有了大小写的区分,这个大小写敏感特性是通过SEC_CASE_SENSITIVE_LOGON参数来控制的。简单探索一下。
1.创建Secooler用户,注意它的密码同时包含大写字母和小写字母。
sys@ora11gR2> create user Secooler identified by Secooler;
User created.
sys@ora11gR2> grant connect to secooler;
Grant succeeded.
从这个授权成功上可见,用户名仍然不区分大小写。
2.尝试使用全小写的密码登陆
sys@ora11gR2> conn secooler/secooler
ERROR:
ORA-01017: invalid username/password; logon denied
Warning: You are no longer connected to ORACLE.
报错,显然不行,此时大小写敏感性检查已经启用。
3.使用“正确”的密码“Secooler”进行登陆,成功。
sys@ora11gR2> conn secooler/Secooler
Connected.
secooler@ora11gR2> show user;
USER is "SECOOLER"
4.看一下“幕后黑手”SEC_CASE_SENSITIVE_LOGON参数的描述
sys@secooler> show parameter sec_case_sensitive_logon
NAME TYPE VALUE
-------------------------- ---------- -----------
sec_case_sensitive_logon boolean TRUE
sys@ora11gR2> select a.ksppinm name,b.ksppstvl value,a.ksppdesc description
2 from x$ksppi a,x$ksppcv b
3 where a.indx = b.indx
4 and a.ksppinm = 'sec_case_sensitive_logon'
5 /
NAME VALUE DESCRIPTION
------------------------- ------ -----------------------------------------
sec_case_sensitive_logon TRUE case sensitive password enabled for logon
该参数默认值是“TRUE”,因此,默认情况下密码大小写是敏感的。
5.将SEC_CASE_SENSITIVE_LOGON参数修改为“FALSE”
sys@ora11gR2> alter system set sec_case_sensitive_logon = FALSE;
System altered.
6.此时系统将不对密码做大小写敏感验证
sys@ora11gR2> conn secooler/secooler
Connected.
7.即使修改SEC_CASE_SENSITIVE_LOGON参数为“FALSE”,在系统中记录的也是区分大小写的形式,只是不进行验证而已。
1)创建另外一个用户sec,并授权
sys@ora11gR2> create user sec identified by SeC;
User created.
sys@ora11gR2> grant connect to sec;
Grant succeeded.
2)在SEC_CASE_SENSITIVE_LOGON参数为“FALSE”时尝试连接,成功,因为此时不进行校验。
sys@ora11gR2> conn sec/sec
Connected.
3)恢复SEC_CASE_SENSITIVE_LOGON参数为“TRUE”,再次尝试连接将会失败。
sec@ora11gR2> conn / as sysdba
Connected.
sys@ora11gR2> alter system set sec_case_sensitive_logon = TRUE;
System altered.
sys@ora11gR2> conn sec/sec
ERROR:
ORA-01017: invalid username/password; logon denied
Warning: You are no longer connected to ORACLE.
4)使用“正确”的密码进行尝试,成功。
sys@ora11gR2> conn sec/SeC
Connected.
5)结论
11g环境中密码是以区分大小写的形式进行存储的。
8.Oracle 11g文档参考(11gR1和11gR2内容相同)
http://download.oracle.com/docs/cd/E11882_01/server.112/e10820/initparams218.htm#REFRN10299
SEC_CASE_SENSITIVE_LOGON
<!-- class="inftblinformal" -->
SEC_CASE_SENSITIVE_LOGON
enables or disables password case sensitivity in the database.
Values:
9.小结
11g的这个密码大小写敏感的新特性对于提升数据库的安全性有很大的帮助,同时也增加了密码的排列组合数目,从此“Secooler”和“secooler”可以作为两个不同用户的密码了。从这个小小的改动上可以看出Oracle诸多人性化改变无处不在。
Good luck.
分享到:
相关推荐
--去掉字符大小写敏感设置:禁止密码大小写敏感 show parameter sec_case_sensitive_logon alter system set sec_case_sensitive_logon=false ; --Oracle11g中Exp空表的问题:禁用插入数据时才分配空间功能 show ...
- **灵活性**:通过调整 `sec_case_sensitive_logon` 参数的值,可以根据实际需求灵活控制密码的大小写敏感性,从而在安全性和用户体验之间找到平衡点。 - **最佳实践**:建议在生产环境中默认开启密码大小写敏感性...
CASE_SENSITIVE参数是达梦数据库中一个重要的参数,它控制着数据库中标识符的大小写敏感性。在安装数据库时,该参数需要进行设置,默认情况下是敏感的,且设置后不能更改。 CASE_SENSITIVE参数的作用 CASE_...
在Oracle 11g中,密码的大小写敏感性是由参数`sec_case_sensitive_logon`控制的。这个参数属于安全相关的配置,它决定了数据库登录过程中是否区分用户密码的大小写。如果该参数被设置为TRUE,则意味着Oracle数据库会...
第二种方法是在目标数据库(即Oracle 11g数据库)上使用'SEC_CASE_SENSITIVE_LOGON'初始化参数来禁用密码的大小写敏感性。可以使用ALTER SYSTEM命令动态地改变这个参数,设置为FALSE,从而允许密码可以不区分大小写...
### Kingbase数据库大小写敏感性设置详解 #### 一、Kingbase数据库简介 人大金仓Kingbase是一款国产数据库管理系统,广泛应用于政府、金融、电信等多个领域。其支持SQL标准,并提供了一系列高级特性来满足不同场景...
### SQL2008对表名及字段区分大小写的实现方法 #### 一、概述 在SQL Server 2008中,...通过以上方法,我们可以灵活地在SQL Server 2008中控制表名、字段名等标识符的大小写敏感性,从而更好地满足不同的业务需求。
除了以上处理密码过期和账户锁定的方法之外,Oracle 11g还引入了一些新的安全特性,例如区分大小写登录(`sec_case_sensitive_logon`)和延迟段创建(`deferred_segment_creation`)等。这些特性也可能会对日常操作产生...
局部敏感哈希(Local Sensitive Hashing,LSH)是一种在大数据集上进行近似相似性搜索的高效方法,尤其适用于高维数据。这个技术在处理时间序列数据时显得尤为重要,因为时间序列数据通常具有大量的维度,直接进行...
在SQL Server 2005中,数据库的大小写敏感性是一个非常重要的概念,它直接影响到数据库对象(如表名、列名等)的引用方式以及查询结果的准确性。了解并正确设置数据库的大小写规则对于确保数据的一致性和查询的准确...
本研究提出了一种改进版的PageRank算法——**话题敏感PageRank**(Topic-Sensitive PageRank),旨在提高搜索引擎返回结果的准确性。原始的PageRank算法通过计算一个单一的向量来评估网页的重要性,这一向量基于网页...
在默认情况下,Oracle数据库区分大小写,而通过设置`sec_case_sensitive_logon`为`false`,可以让登录名不区分大小写,便于管理和减少因输入错误引发的问题。`scope=both`表示这一更改立即生效,并且在下一次启动时...
1. quant_flow_ptq_int8.py是PTQ int8量化脚本 2. quant_flow_qat_int8.py 是QAT int8量化脚本 3. quant_flow_ptq_sensitive_int8.py 是敏感层分析的脚本
在MySQL中,查询默认情况下通常是不区分大小写的,但如果你想让你的查询对大小写敏感,有几种方法可以实现。以下是一些关键知识点和步骤来帮助你在MySQL中进行区分大小写的查询。 1. **设置列的Collation** - **...
使用此插件有助于缓解OSX上的开发人员不遵循严格的路径区分大小写的情况,这些情况将导致与其他开发人员或运行其他操作系统(需要正确使用大小写正确的路径)的构建盒发生冲突。 基于相同想法的为该插件提供了基础...
在本实验中,我们主要探讨了Oracle数据库中的两种分区技术:Range分区和List分区,以及如何使用触发器来实现特定的操作后反馈。 首先,我们来看看Range分区。Range分区是根据列值的范围来划分表的,这在处理大量...
一篇发表在USENIX Security'15会议上的论文SUPOR: Precise and Scalable Sensitive User Input Detection for Android Apps。作者提出一种利用自然语言处理的方式处理android应用的UI界面以判断出哪些控件是关于用户...
ALTER SYSTEM SET sec_case_sensitive_logon=false; ``` ### RMAN使用 **1. 进入RMAN** - **两种方式**: - 本地进入: 直接运行`rman target /`。 - 远程进入: 通过`rman target /@服务名`。 ### 总结 以上...
注意,密码文件的创建并不影响密码的大小写敏感性,这主要由初始化参数`sec_case_sensitive_logon`控制。 ### 恢复参数文件 如果参数文件(即SPFILE或PFILE)丢失,可以通过查找`alert_<sid>.log`日志文件来获取...
' CaseSensitive 是否区分大小写?默认不区分! ' 返回值:无 ' 特别注意:kernel32.dll 版本:5.1.2600.3119 以后的版本,此函数运行不正确!!! Public Sub StartScan(Path As String, _ Optional SubFolders As ...