再谈,oracle sysdba的认证问题


最近看到关于sysdba的认证问题,有不少人都不是很明白,这几天接着研究安全的问题,仔细彻底的把这个sysdba的认证问题做了一下实验。仔细的深入的来讨论这个问题

首先我们了解一下oracle的sysdba的认证机制。

首先我这里强调的,这里我们所谓的SQLNET.AUTHENTICATION_SERVICES= (NTS)和SQLNET.AUTHENTICATION_SERVICES= (NONE)都是针对sysdba的登录而指定了,
也就是说如果你不是as sysdba的话,这个设置是完全没有影响的。当然如果你是以sys用户登录,Oracle是一定要你以sysdba登录的。

OK,明白上面一点后,我们在来看看我们一般执行登录的命令是怎样的
一般来说的话 基本上有两种方式, sqlplus “/ as sysdba” 和 sqlplus “sys/syspwd as sysdba”.

第一种和第二种的主要差别就是在TNS的SID上,如果没有TNS的SID的话,oracle都会不进过lisnter,而直接在本地访问实例。如果是加了tns的SID的话,不管是不是在本机,都会通过listener当作是一个远程连接。

接着我们在来看NTS和None,NTS指的是本地验证,也就是说你只要是安装oracle所处在的组,就可以直接访问,当然这个也一定要使用在安装的那台机器上。

还有一个系统参数我们也需要注意的是remote_login_passwordfile,他对对应的是EXCLUSIVE和NONE,

首先,oracle数据库根据配置的AUTHENTICATION_SERVICES来决定使用怎样的认证方式,是用本地的认证还是使用密码来进行认证,
接着根据remote_login_passwordfile的设置来进行password的判断,none是禁止password_file的功能,exclusive启用,shared是多数据库共享(只能是sys使用)。

了解到这些含义,我们就一起来做实验了,来看看sysdba的认证的一些方式,

首先我们使用AUTHENTICATION_SERVICES= (NTS)和remote_login_passwordfile=none的搭配,这是根据以上的描述,应该是只能在本地以系统方式进行登录,而禁止其他方式,也就是此时只能是
sqlplus “/ as sysdba”登录

如果我们是使用AUTHENTICATION_SERVICES= (none)和remote_login_passwordfile=none的搭配的话。
sqlplus “/ as sysdba”不可以登录
sqlplus “sys/syspassword as sysdba”也不可以登录
一旦实例启动,实例将独立sqlnet.ora文件,所以要生效,一定要重新启动实例。在做这个实验的时候,当你都设置成none后,无论你都无法登录数据库,不过不要紧张,实验完以后,在sqlnet.ora里把AUTHENTICATION_SERVICES注释掉就可以使用sqlplus “/ as sysdba”登录了

如果我们使用AUTHENTICATION_SERVICES= (NTS)和remote_login_passwordfile=exclusive的话
两种方式都可以登录。

如果我们使用AUTHENTICATION_SERVICES= (none)和remote_login_passwordfile=exclusive的话
sqlplus “/ as sysdba”不可以登录
sqlplus “sys/syspassword as sysdba” 可以登录

这里要注意,如果remote_login_passwordfile=exclusive的话,会和oracle服务器上的密码文件一起使用,密码文件默认路径是$ORACLE_HOME/dbs/orapwd$ORACLE_SID, 如果没有这个文件,或者这个文件损害的话可以参看文章
http://www.inthirties.com/?p=48

[@more@]

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

转载于:http://blog.itpub.net/21507788/viewspace-1021463/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值