验证oracle弱口令,带您了解ORACLE用户验证机制

ORACLE用户验证的机制关系到ORACLE数据库的安全,下面就为您详细介绍ORACLE用户验证机制,如果您对此感兴趣的话,不妨一看。

系统安全一直是各个系统关注的首要问题,而ORACLE用户验证是其中很重要的一环。一般应用程序习惯性地将用户验证放在数据库中,通过比对用户的输入与数据库记录来验证用户,但数据库自身如何来验证呢?ORACLE用户可以分为SYS用户和普通用户,他们的验证方式有所区别

一、SYS用户验证

SYS用户拥有数据库的完全控制权,对其验证显得至关重要。由于进行验证时数据库还不可用,ORACLE采用两种方式来验证SYSDBA用户:操作系统验证和口令文件验证。

1. 操作系统验证

对于在安装Oracle的本机上使用Oracle的情况,Oracle可以将用户验证交给操作系统,只要登录操作系统的用户在DBA组里,就有SYS用户的权限,可以修改 $ORACLE_HOME/dbs/sqlnet.ora,加入如下行:

SQLNET.AUTHENTICATION_SERVICES= (NTS)

操作系统验证具有***优先级,当设置为他时,口令文件验证不起作用

2. 口令文件验证

要使用口令文件验证,首先得禁用操作系统验证,修改 $ORACLE_HOME/network/admin/sqlnet.ora,加入如下行(这里将$ORACLE_HOME转化为绝对路径):

SQLNET.AUTHENTICATION_SERVICES= (NONE)

其次是设置口令验证配置参数:remote_login_passwordfile,他可以有几个值,其含义如下

-- none 不使用口令验证

-- exclusive 仅允许一个实例使用该口令文件

--shared 多个实例可以共用一个口令文件

这里将参数设置为独占:

alter system set remote_login_passwordfile=exclusive scope=spfile;

shutdown immediate

使用口令实用程序生成口令文件

orapwd file= $ORACLE_HOME/database/pwdora10g.ora password=oracle

此时尝试以不同方式登录数据库

sqlplus / as sysdba-----------------权限不足

sqlplus sys/oracle as sysdba---------------使用口令验证方式,登录成功

二、普通ORACLE用户验证

之前讲了SYS用户的验证,那么普通用户如何验证?

SYS用户是在数据库还没启动时登录数据库进行启动操作,而普通用户是在数据库启动后操作不同方案下的对象。

所以普通用户采用的是数据字典的验证方式:

select username,password from dba_users;

可以看到所有用户和密码

【编辑推荐】

【责任编辑:段燃 TEL:(010)68476606】

点赞 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值