Oracle的操作系统身份认证(转)

oraclelogin数据库远程登录authenticationos
sqlnet.authentication_services=(NTS),在$ORACLE_HOME/network/admin/sqlnet.ora中
NTS特指的是windows系统,或者设为all,这两种情况都允许操作系统认证。
如果在unix下如果没有设置sqlnet.authentication_services,默认就是操作系统认证!或者设为all也允许操作系统认证。
参数SQLNET.AUTHENTICATION_SERVICES= (NONE,NTS)表明用户连接Oracle服务器时使用哪种验证方式
NONE表示Oracle数据库身份验证,NTS表示操作系统身份验证,两种方式可以并用。

数据库用sysdba登录的验证有两种方式,一种是通过os认证,一种是通过密码文件验证;登录方式有两种,一种是在数据库主机直接登录(用os认证的方式),一种是通过网络远程登录;需要设置的参数有两个,一个是SQLNET.AUTHENTICATION_SERVICES,一个是REMOTE_LOGIN_PASSWORDFILE。
os认证:如果启用了os认证,以sysdba登录,那么我们只要用oracle软件的安装用户就能登录:sqlplus “/ as sysdba”。如果我们要禁用os认证,只利用密码文件登录,我们首先要有一个密码文件:
orapwd file=C:/oracle/product/10.2.0/db_1/database/PWDoralocal.ora password=maximo entries=10;
然后我们要把$ORACLE_HOME/network/admin/sqlnet.ora中设置:
SQLNET.AUTHENTICATION_SERVICES= none
注意一下,密码文件只在数据库启动的时候加载进去,一旦加载进去,密码文件就脱离了oracle管理,所以我们用orapwd新建密码文件后,里面指定的密码要在数据重启后才能生效:

至此,我们已经实现不用os认证(sqlplus “/ as sysdba”的方式登录不了)。那么我们怎么限制网络方面利用sysdba远程登录呢?我们可以设置初始化文件中的REMOTE_LOGIN_PASSWORDFILE=none。
注意,当REMOTE_LOGIN_PASSWORDFILE=none时,这个参数生效需要重启数据库,并且,一旦启用这个参数,将使用操作系统认证,不使用口令文件。因此如果REMOTE_LOGIN_PASSWORDFILE=none且SQLNET.AUTHENTICATION_SERVICES= none这个时候数据库是无法登录的。

alter system set REMOTE_LOGIN_PASSWORDFILE=none scope=spfile;
(1)REMOTE_LOGIN_PASSWORDFILE=none且SQLNET.AUTHENTICATION_SERVICES= none:
oracle安装用户本地sqlplus “/ as sysdba”无法登录
非oracle安装用户本机sqlplus “sys/change_on_install as sysdba”无法登录
非oracle安装用户远程sqlplus “/ as [email protected] as sysdba”无法登录
(2)REMOTE_LOGIN_PASSWORDFILE=exclusive且SQLNET.AUTHENTICATION_SERVICES= none:
oracle安装用户本地sqlplus “/ as sysdba”无法登录
非oracle安装用户本机sqlplus “sys/change_on_install as sysdba”能登录
非oracle安装用户远程sqlplus “/ as [email protected] as sysdba”能登录
(3)REMOTE_LOGIN_PASSWORDFILE=none且SQLNET.AUTHENTICATION_SERVICES= (NTS):
oracle安装用户本地sqlplus “/ as sysdba”能登录
非oracle安装用户本机sqlplus “sys/change_on_install as sysdba”无法登录
非oracle安装用户远程sqlplus “/ as [email protected] as sysdba”无法登录
(4)REMOTE_LOGIN_PASSWORDFILE=exclusive且SQLNET.AUTHENTICATION_SERVICES= (NTS):
oracle安装用户本地sqlplus “/ as sysdba”能登录
非oracle安装用户本机sqlplus “sys/change_on_install as sysdba”能登录
非oracle安装用户远程sqlplus “/ as [email protected] as sysdba”能登录
Oracle REMOTE_LOGIN_PASSWORDFILE 参数
设置初始化参数 REMOTE_LOGIN_PASSWORDFILE :
在 Oracle 数据库实例的初始化参数文件中,此参数控制着密码文件的使用及其状态。它可以有以下几个选项:
1、NONE :指示 Oracle 系统不使用密码文件,特权用户的登录通过操作系统进行身份验证;
2、EXCLUSIVE :指示只有一个数据库实例可以使用此密码文件。只有在此设置下的密码文件可以包含有除 SYS 以外的用户信息,即允许将系统权限 SYSOPER /SYSDBA 授予除 SYS 以外的其他用户。此设置oracle 9i中为缺省值。有朋友说是shared,其实不然.
3、SHARED :指示可有多个数据库实例可以使用此密码文件。在此设置下只有 SYS 帐号能被密码文件识别,即使文件中存有其他用户的信息,也不允许他们以 SYSOPER /SYSDBA 的权限登录。
---- 在 REMOTE_LOGIN_PASSWORDFILE 参数设置为 EXCLUSIVE 、 SHARED 情况下, Oracle 系统搜索密码文件的次序为:在系统注册库中查找 ORA_SID_PWFILE 参数值(它为密码文件的全路径名);若未找到,则查找 ORA_PWFILE 参数值;若仍未找到,则使用缺省值 ORACLE_HOME/DATABASE/PWDSID.ORA ;其中的 SID 代表相应的 Oracle 数据库系统标识符。

总结
$ORACLE_HOME/network/admin/sqlnet.ora中的AUTHENTICATION_SERVICES参数:
1、在windows下,SQLNET.AUTHENTICATION_SERVICES必须设置为NTS或者ALL才能使用OS认证;不设置或者设置为其他任何值都不能使用OS认证。
2、在linux下,在SQLNET.AUTHENTICATION_SERVICES的值设置为ALL,或者不设置的情况下,OS验证才能成功;设置为其他任何值都不能使用OS认证。
spfile中的REMOTE_LOGIN_PASSWORDFILE参数:
1、值为exclusive时,远程能作为sysdba身份登录
2、值为none时,以sysdba身份无法登录

Oracle的操作系统身份认证(转),码迷,mamicode.com

时间: 2024-08-09 06:18:45

Oracle的操作系统身份认证(转)的相关文章

小白日记36:kali渗透测试之Web渗透-手动漏洞挖掘(二)-突破身份认证,操作系统任意命令执行漏洞

手动漏洞挖掘 ###################################################################################### 手动漏洞挖掘原则[会比自动扫描器发现的漏洞要多,要全面] 1.每一个变量都进行尝试 2.所有头[如:cookie中的变量] 3.逐个变量删除 #####################################################################################

ASP.NET MVC5+ORACLE 身份认证

菜鸟来的,刚接触mvc,看到mvc5上默认带有identity身份验证的东西,公司用的oracle数据库,便想着东西能不能支持oracle数据库,折腾了半天弄出下面的东西来,有些东西可能不太准确,望大神斧正, 工具 1 vs2013 2 oracle 10.2 3 oadc 12c  (下载地址 http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html) 一. 获取 AspNet.Identity.OraclePro

超级狗是集软件授权、课件保护和身份认证于一身的加密狗。

超级狗是加密狗家族中最新一代软件保护和授权产品.它提供了强大的软件.课件防盗版功能以及灵活的软件授权功能,保护软件开发商的知识产权与核心技术,确保开发商的市场收入. 超级狗将软件保护与授权技术化繁为简.通过易于理解.易于上手的外壳保护工具.许可设计工具,以及在线授权工具,软件开发商可以轻松地实现高强度的软件保护和多种授权模式. 在保持SafeNet一贯高品质.高稳定性.高安全性的基础之上,超级狗还提供了基于时间.功能控制的许可模式,同时拥有更友好.直观的用户界面和更简单的操作流程. 超级狗可以帮

细说ASP.NET Windows身份认证

上篇博客我谈到了一些关于ASP.NET Forms身份认证方面的话题,这次的博客将主要介绍ASP.NET Windows身份认证. Forms身份认证虽然使用广泛,不过,如果是在 Windows Active Directory 的环境中使用ASP.NET, 那么使用Windows身份认证也会比较方便. 方便性表现为:我们不用再设计登录页面,不用编写登录验证逻辑.而且使用Windows身份认证会有更好的安全保障. 回到顶部 认识ASP.NET Windows身份认证 要使用Windows身份认证

哈希表 之 接入与身份认证技术概述

1 概述 随着信息化的高速发展,对国家.组织.公司或个人来说至关重要的信息越来越多的通过网络来进行存储.传输和处理,为获取这些关键信息的各种网络犯罪也对应急剧上升. 当前,网络安全在某种意义上已经成为一个事关国家安全.社会经济稳定的重大问题.得到越来越多的重视. 在网络安全中.身份认证技术作为第一道,甚至是最重要的一道防线.有着重要地位,可靠的身份认证技术能够确保信息仅仅被正确的"人"所訪问.身份认证技术提供了关于某个人或某个事物身份的保证.这意味着当某人(或某事)声称具有一个特别的身

OracleTNS漏洞攻占oracle所在操作系统,进而入侵oracle

背景 随着数据库入侵手段的发展,对数据库的攻击已经不仅仅是针对数据库本身,而是扩展到数据库的各种组建(甚至中间件中). TNS(Transparance Network Substrate)作为ORACLE的核心组件之一,主要负责选择oracle协议配置器,确定一种客户端和服务器都支持的传输协议进行传输.TNS不仅定义了数据库和客户端之间的通讯协议,更负责对客户端进行身份验证(确认客户端所用用户名和密码是否合法).简单说如果TNS有可利用漏洞则可能直接对Oracle造成入侵.利用TNS入侵ora

一种基于主板BIOS的身份认证方案及实现

一.BIOS简介 BIOS是只读存储器基本输入/输出系统,它是被固化到计算机中的一组程序,为计算机提供最低级的.最直接的硬件控制,在计算机系统中起着非常重要的作用.BIOS是硬件与软件程序之间的接口,负责解决硬件的即时需求,并按软件对硬件的操作要求具体执行.BIOS的功能包括自检及初始化.硬件中断处理.程序服务处理. 1. 自检及初始化 这个部分的功能是启动计算机,包括三个部分,第一个部分是用于计算机刚接通电源时对硬件部分的检测,也叫做加电自检(POST),功能是检查计算机是否良好.第二个部分是

新加坡战略资本Strategic capital宣布对硅谷人工智能区块链身份认证项目进行200万美金

金色财经-区块链 12月3日讯? 2018年12月3日,新加坡区块链风投基金新加坡战略资本Singapore strategic capital宣布对硅谷初创项目人工智能区块链身份认证项目进行200万美金的战略投资.据悉,新加坡战略资本Singapore strategic capital此次投资的人工智能区块链身份认证项目是由硅谷几个区块链技术大牛成立并主导开发,该项目将人工智能算法和区块链技术相结合,用于社会系统的身份认证,该项目要打造一个AI模型允许通过块链接进行身份验证的按需,安全和低成

工业互联网安全从身份认证和数据加密开始

自×××发布<关于深化"互联网+先进制造业"发展工业互联网的指导意见>以来,各地政府纷纷加快落实"企业上云",云计算发展突飞猛进.工业互联网.工业会联网平台成为当下最热的互联网话题之一. 工业互联网是满足工业智能化发展需求,具有低时延.高可靠.广覆盖特点的关键网络基础设施,是新一代信息通信技术与先进制造业深度融合所形成的新兴业态与应用模式.工业互联网包括三大内容:网络.平台和安全.网络是基础,平台是核心,安全是保障.工业互联网安全是工业互联网健康发展的重