`

如何以系统认证方式登陆

阅读更多
现象:

C:\>sqlplus "/as sysdba"
SQL*Plus:Release 10.2.0.1.0 - Production on Fri Nov 2 16:16:22 2007
Copyright (c) 1982, 2005, Oracle. All right reserved.
ERROR:
ORA-01031: insufficient privileges
Enter user-name:

这个错误一般是由于oracle登录认证出现了问题:

Oracle登录认证有两种方式,基于操作系统的登录认证,基于oracle的验证。

可以通过改变sqlnet.ora文件,可以修改oracle登录认证方式:

IXDBA.NET技术社区

SQLNET.AUTHENTICATION_SERVICES= (NTS)是基于操作系统验证;SQLNET.AUTHENTICATION_SERVICES= (NONE)是基于Oracle验证;SQLNET.AUTHENTICATION_SERVICES= (NONE,NTS)是二者共存。

经过测试,以上规则只适用于windows服务器,在linux下规则如下:

默认情况下linux下的oracle数据库sqlnet.ora文件没有SQLNET.AUTHENTICATION_SERVICES参数,此时是基于操作系统认证和oracle密码验证共存的,加上SQLNET.AUTHENTICATION_SERVICES参数后,不管SQLNET.AUTHENTICATION_SERVICES设置为NONE或者NTS,都是基于oracle密码验证的。

Windows下设置oracle登录验证为操作系统验证方式的方法:

1:把os用户加到ora_dba组
2:设置sqlnet.ora SQLNET.AUTHENTICATION_SERVICES = (NTS)
或者你可以重建口令文件来改密码,只不过原来授予sysdba和sysoper权限的用户,就不再具有这2个权限了。

有一种oracle的登录方式是操作系统验证登录方式,即常说的OS验证登录方式,在SQL server中也有这种方式。
当用Windows的管理员帐户登陆系统后登陆数据库,只要加上 as sysdba,不管用什么用户名和密码登陆,都正确,因为这时系统已经忽略了/ 两边的用户名和密码,默认就是sys用户。
有些朋友经常使用connect / as sysdba登录,但不知道为什么没有提供用户名和密码就得到了sysdba的权限。还认为这样是不是不安全呢?

Oracle在常见的多用户操作系统上都可以进行OS认证方式来登录。例如solaris,windows等等。
下面以常见的windows操作系统来说明看一下这个操作系统认证方式登录的原理。如果你的机器可以使用connect / as sysdba获取sysdba的权限,那么下面的每一个过程你的机器上都会得到验证,如果不能,按照下面的操作更改后,你也能以这种方式登录。

在命令行下敲入compmgmt.msc 进入计算机管理
选择本地用户和组—>组
看是不是有一个组的名字叫做ORA_DBA
双击改组可以看到里面是不是有administrator用户
想一想你是不是以administrator用户登录的呢?
再进入Oracle安装目录(即$ORACLE_HOME 一般是D:"oracle)"ora92"network"admin 找到sqlnet.ora文件看看里面的是不是有SQLNET.AUTHENTICATION_SERVICES= (NTS)
如果这些都对的话,你就能已操作系统认证的方式(connect / as sysdba)来登录Oracle
接下来的问题是,如果你的数据很重要,出于安全考虑,希望禁止这种操作系统认证的方式。那么该怎么做呢?
很简单,找到在刚才的第6步骤中的sqlnet.ora文件,将SQLNET.AUTHENTICATION_SERVICES= (NTS)改为SQLNET.AUTHENTICATION_SERVICES=none即可。你再试一下看看会不会得到到如下结果:
ERROR:
ORA-01031: insufficient privileges
警告: 您不再连接到 ORACLE。

如果你的机器不能以系统认证的方式登录,检查以上几个步骤,你总可以找到原因的。







oracle两种认证方式总结
ORACLE数据库通过sqlnet.ora文件中的参数sqlnet.authentication_services,参数文件中的remote_login_passwordfile和口令文件pwdsid.ora三者协同作用实现身份认证.

Sqlnet.authentication_services=(NTS)|(NONE)
NTS:操作系统认证方式,不使用口令文件;
NONE:口令文件认证方式

Remote_login_passwordfile=(NONE)|(EXCLUSIVE)|(SHARED)
NONE:不使用口令文件,操作系统认证;
EXCLUSIVE:口令文件认证方式,但只有一个数据库实例可以使用此文件;
SHARED:口令文件认证方式,可以有多个数据库实例可以使用此文件,但此设置下只有SYS帐号能被识别,即使文件中存在其他用户的信息,也不允许他们以SYSOPER/SYSDBA登录.

(1).sqlnet.authentication_services=(NTS)
同时Remote_login_passwordfile=(NONE),此时为操作系统认证方式.

当以oracle_dba组下的用户登录进入本地的操作系统后,进行以下操作:
sqlplus /nolog
SQL>conn /assysdba
可以以sysdba身份登录成功,进行数据库方面的操作.

当以远程进行登录时,执行:
sqlplus /nolog
SQL>conn /assysdba
则会显示:
ERROR:ORA-01031:insufficient privileges
即不允许以sysdba身份远程登录系统,这也是OS认证这所以称为本地认证方式的原因.

(2).Sqlnet.authentication_services=(NONE),同时
Remote_login_passwordfile=(EXCLUSIVE)|(SHARED),配合口令文件PWDsid.ora,此时为口令文件认证方式:

当在本地以oracle_dba组下的用户登录进入系统时,进行以下操作:
sqlplus /nolog
SQL>conn /assysdba
则会显示:
ERROR:ORA-01031:insufficient privileges

在本地或远程进行下边的操作:
sqlplus /nolog
SQL>conn sys/密码@服务名assysdba
可以进入系统,也就是说口令文件认证方式允许用户从本地或远程以sysdba身份登录,但必须提供口令字.


(3).Sqlnet.authentication_services=(NTS),同时
Remote_login_passwordfile=(EXCLUSIVE)|(SHARED),配合口令文件PWDsid.ora,此时为操作系统认证和口令文件认证同时起作用:

当在本地以oracle_dba组下的用户登录进入操作系统后,进行下边的操作:
sqlplus /nolog
SQL>conn /assysdba
可以进入系统.即操作系统认证方式登录成功.

当在远程执行:
sqlplus /nolog
SQL>conn sys/密码@服务名assysdba
同时可正常登录到数据库系统,即口令文件认证方式登录成功.


附:
要知道以下几种登陆方式不是一种概念
sqlplus /nolog
1:  conn /assysdba                    本机登陆,使用操作系统认证,有无监听都可以
2:  conn sys/password assysdba   本机登陆,使用密码文件认证,有无监听都可以
3:  conn sys/password@dbanote assysdba  可以本机可以远程,使用密码文件认证,必须有监听,必须有tnsnames.ora,remote_login_passwordfile必须是EXCLUSIVE


说明:

从oracle的解释可以知道,SQLNET.AUTHENTICATION_SERVICES=(NTS)是WINDOWS系统专用的,对linux/UNIX是不适用的。

最后做一个简单的总结:
1、在windows下,SQLNET.AUTHENTICATION_SERVICES必须设置为NTS或者ALL才能使用OS认证;不设置或者设置为其他任何值都不能使用OS认证。
2、在linux下,在SQLNET.AUTHENTICATION_SERVICES的值设置为ALL,或者不设置的情况下,OS验证才能成功;设置为其他任何值都不能使用OS认证。
文章来自互联网,感谢作者!

分享到:
评论

相关推荐

    Oracle禁用操作系统认证方式登陆及SYS远程登录

    Oracle禁用操作系统认证方式登陆及禁止SYS远程登录。Oracle数据库默认允许操作系统登录,尝试登录获取SYS权限将带来极大安全威胁。另外禁止SYS远程登录能有效保证数据库安全。

    eKey安全登录认证系统技术方案

    系统登录者身份认证方面引入数字签名机制,防止非授权用户对系统的入侵,从而提高整个系统的安全性。eKey安全登录认证系统技术方案

    XYG_ALD_EBS系统短信认证登录开发教程

    Oracle EBS系统短信认证登录开发:开发...而且短信认证也是目前绝大部分系统的安全认证方式,例如银行系统之类的。所以,这个也是合理的需求。 本文介绍了整个开发流程,有需要的基本按照文档可以开发短信认证的功能。

    WIFI十二种web认证方式及简单配置.pdf

    WIFI 十二种 web 认证方式及简单配置 WIFI 认证是 WIFI 网络安全的关键组件,提供了多种认证方式来满足不同场景的需求。下面我们将详细介绍 WIFI 十二种 web 认证方式及简单配置。 一、 不需认证 不需认证是 ...

    NC系统身份认证方式实现说明文档

    NC系统是应用于高端企业集团ERP应用的产品,其地位决定了其系统安全性的重要,包括登录身份的认证和各种数据的...NC系统对数据的安全性的处理不在本文描述,本文主要阐述系统登录的身份认证的安全性及认证方式的实现。

    统一登录系统设计方案.pdf

    4. 多种认证方式:支持用户名/口令、数字证书、CA证书和短信动态口令等认证方式。 5. 数据加密:认证的全过程数据加密,确保数据的安全性。 6. 授权管理:通过数据集成方法把用户的授权功能代码、读写权、数据范围、...

    【MaxKey单点登录认证系统 v2.4.0 RC】企业级IAM身份管理和身份认证产品+RBAC权限管理.zip

    MaxKey(马克思的钥匙)用户单点登录认证系统(Sigle Sign On System),寓意是最大钥匙,是业界领先的企业级IAM身份管理和身份认证产品,支持OAuth 2.0/OpenID Connect、SAML 2.0、JWT、CAS等标准化的开放协议,提供...

    爱科U盘身份认证系统

    支持多系统认证,一个U盘可以用于多个系统; <br>3. 完善的安全机制,即使U盘没有序列号或序列号相同,也可以已保证安全; <br>4. 可以自定义密码; <br>5. 可以存储128个字符的特定信息; <br>6. 支持...

    企业系统认证与授权概述.pptx

    企业系统认证与授权概述 认证和授权是安全网络中不可缺少的一环, plays a crucial role in preventing unauthorized access to network resources. 在本节课程中,我们将深入探讨企业系统认证与授权的技术创新和...

    基于人脸识别的云桌面身份认证系统.pdf

    当用户通过云终端登录时,首先由云终端通过摄像头进行人脸检测和活体检测,然后由云终端向云计算资源中的认证服务器发送认证请求Q,请求数据包里主要人脸图像和其他终端信息。认证服务器在收到认证请求Q后,将其中的...

    基于Android App安全登录认证解决方案.pdf

    文章首先对当前常见的App登录认证方式进行分析比较,然后提出了一个采用RSA非对称加密和加入Token时效机制的登录认证解决方案。 文章首先对移动互联网的高速发展和智能手机用户的爆炸性增长进行了分析,并指出这些...

    MaxKey单点登录认证系统-其他

    MaxKey(马克思的钥匙)用户单点登录认证系统(Sigle Sign On System),寓意是最大钥匙,是业界领先的企业级IAM身份管理和身份认证产品,支持OAuth 2.0/OpenID Connect、SAML 2.0、JWT、CAS等标准化的开放协议,提供...

    Oracle_OS认证与口令文件认证详解

    概述:本文只讨论 OS 认证和口令文件认证方式的配置方法,如何配置以及使用OS 认证和口令文件认证方式验证SYSDBA/SYSOPER 权限。 在开始学 Oracle 的时候有件事一直让我感觉很奇怪,就是为什么在数据没有起来的时候...

    C语言课程设计,学生成绩管理系统,支持管理员登陆,教师登录,学生登录,通过纯栈实现

    添加,修改,查询,删除(3)学生信息管理:添加,修改,查询,删除(4)成绩信息管理:添加,修改,查询,删除(5)课程信息管理:添加,修改,查询,删除(6)授课信息管理:添加,修改,查询,删除(7)退出登陆系统教师功能: (1)个人信息修改...

    FANSY 统一认证和授权系统(PART1)

    本系统基于CAS,包含的功能有:统一认证(单点登录、单点退出)、用户信息统一管理、用户权限管理等 maven工程 ---------------------------------------------------------------------------------------------...

    双因素认证系统简介

    用户名/密码是最简单也是最常用的身份认证方法,是基于“what you know”的验证手段。每个用户的密码是由用户自己设定的,只要能够正确输入...因此,从安全性上讲,用户名/密码方式是一种极不安全的身份认证方式。

    基于CPU卡的PKI柜员身份认证系统.pdf

    在该PKI柜员身份认证系统中,我们将数字证书、密钥以及其他相关柜员保密信息(如柜员号、柜员密码和柜员状态等)存放在芯片上的安全文件系统中,并采用可加密的数据通信方式与IC卡读写器进行数据交换。 该系统中CPU...

    操作系统(HP_UNIX)双因素身份认证解决方案 - 中科恒伦CKEY DAS.pdf

    帮助HP_UNIX实现双因素身份认证,保护系统登录安全,同时讲述双因素认证实现原理、认证方法、接入方式等

    指纹认证系统-CA-AFIS501

    指纹认证系统-CA-AFIS5011.安装前须知 在安装本系统前,请确认你是否已经安装了oracle数据库系统。 oracle数据库系统软件不属于本系统软件,用户需自备。 2. 系统安装次序 1)如果服务器没有装oracle数据库...

    操作系统(FreeBSD)双因素身份认证解决方案 - 中科恒伦CKEY DAS.pdf

    帮助FreeBSD操作系统完成双因素身份认证,保护系统登录安全,同时讲述双因素认证实现原理、认证方法、接入方式等

Global site tag (gtag.js) - Google Analytics