oracle 登录认证

1 简介

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

ORACLE数据库通过sqlnet.ora文件中的参数sqlnet.authentication_services,来控制用户是通过操作系统认证还是通过密码认证进行登录。

而对于拥有sysdba角色的用户,还有一个密码文件可以辅助密码验证。

sqlnet.authentication_services、参数remote_login_passwordfile和密码文件pwd<sid>.ora三者协同作用实现身份认证.

2 authentication_services

Windows环境与Linux/Unix环境有区别:

Windows
  • SQLNET.AUTHENTICATION_SERVICES= (NTS)是基于操作系统验证;
  • SQLNET.AUTHENTICATION_SERVICES= (NONE)是基于Oracle验证;
  • SQLNET.AUTHENTICATION_SERVICES= (NONE,NTS)是二者共存。
  • SQLNET.AUTHENTICATION_SERVICES必须设置为NTS或者ALL才能使用OS认证;不设置或者设置为其他任何值都不能使用OS认证。
Linux/Unix
在linux下,在SQLNET.AUTHENTICATION_SERVICES的值设置为

  • ALL, 为OS验证;
  • NONE或者NTS,都是基于oracle密码验证的。
  • 不设置时,启用OS认证和oracle密码认证。

2.1 不同登录方式的写法

区分以下几种登录方式的区别
  • conn / as sysdba 本机登陆,使用操作系统认证,有无监听都可以
  • conn sys/password as sysdba 本机登陆,使用密码文件认证,有无监听都可以
  • conn sys/password@dbanote as sysdba 兼容OS认证与密码认证。使用密码文件认证,必须有监听,必须有tnsnames.ora,remote_login_passwordfile必须是EXCLUSIVE

3 sysdba角色登录认证

 

3.1 无密本地登录

sqlplus / as sysdba
或者
sqlplus / nolog
conn / as sysdba

以上写法都是无密本地登录。

3.2 密码文件

密码文件是保存拥有sysdba/sysoper等role 的用户和密码信息的文件 。当拥有相关role的用户,想要登录 数据库实例时,如果authentication_services 要求进行密码验证,那么这些用户的密码会通过密码文件加以校验。

创建密码文件的语法如下:

orapwd file=<密码文件> password=<sys用户密码> entries=10 force=y

说明:

  • file——密码文件名(必要)。默认在$Oracle_Home/dbs目录下
  • password——SYS 的密码(必要)
  • entries——DBA和操作员的最大数目(可选)
  • force——是否重写现有的文件(可选)
  • 创建密码文件时,= 号两边是没有空格的。

3.3 是否开启密码文件验证

Oracle提供了一个参数: remote_login_password=NONE|EXCLUSIVE|SHARED .

  • NONE 高级管理员登录时,不使用密码文件验证
  • EXCLUSIVE 高级管理员登录时,使用密码文件验证,且只允许本实例使用该密码文件。
  • shared 高级管理员登录时,使用密码文件验证,且允许多个实例使用该密码文件

3.4 限制sys登录方式

 

3.4.1 不限制

不设置sqlnet.authentication_services,不设置 remote_login_password. 此时,不管是无密登录 、密码登录还是远程登录都可以。

3.4.2 只允许本地密码登录

sqlnet.authentication_services=(ALL) 且 remote_login_password=exclusive 或者shared

3.4.3 只允许远程登录

sqlnet.authentication_services=(NTS) 且 remote_login_password=exclusive 或者shared

Author: halberd.lee

Created: 2019-08-31 Sat 20:42

Validate

Oracle登录认证的更多相关文章

  1. oracle修改登录认证方式

    通过配置sqlnet.ora文件,我们可以修改oracle登录认证方式. SQLNET.AUTHENTICATION_SERVICES=(NTS);基于操作系统的认证 SQLNET.AUTHENTIC ...

  2. oracle数据库启动流程及登录认证方式详解

    转自:https://www.2cto.com/database/201803/726644.html ■  oracle启动流程-windows下 1) lsnrctl start  (启动监听) ...

  3. oracle改动登录认证方式

    通过配置sqlnet.ora文件.我们能够改动oracle登录认证方式. SQLNET.AUTHENTICATION_SERVICES=(NTS);基于操作系统的认证 SQLNET.AUTHENTIC ...

  4. oracle登陆认证方式

    转自:http://blog.itpub.net/14359/viewspace-683064/ 案例: 1,发现此时操作系统认证不成功: C:\Users\Administrator.WIN-201 ...

  5. Oracle OS认证 口令文件 密码丢失处理

    Oracle OS认证 口令文件 密码丢失处理 分类: Oracle Basic Knowledge2009-10-19 14:24 5031人阅读 评论(9) 收藏 举报 oracleos数据库sq ...

  6. ELK日志系统:Filebeat使用及Kibana如何设置登录认证

    根据elastic上的说法: Filebeat is a lightweight, open source shipper for log file data. As the next-generat ...

  7. Asp.Net MVC3.0网站统计登录认证的在线人数

    Asp.Net MVC3.0网站统计登录认证的在线人数 前言 对于一个网站来说,统计在线人数是一个很重要的工作.平时也发现很多的网站论坛等都有在线人数的显示.对于一个网站如果在线人数很多,用户看到了这 ...

  8. Oracle登录时提示错误,导致用户无法登录

    Oracle登录时提示错误,导致用户无法登录,错误如下 ------------------------------------------------------------------------ ...

  9. shiro实现APP、web统一登录认证和权限管理

    先说下背景,项目包含一个管理系统(web)和门户网站(web),还有一个手机APP(包括Android和IOS),三个系统共用一个后端,在后端使用shiro进行登录认证和权限控制.好的,那么问题来了w ...

随机推荐

  1. python3 中的cls和self的区别 静态方法和类方法的区别

      一般来说,要使用某个类的方法,需要先实例化一个对象再调用方法. 而使用@staticmethod或@classmethod,就可以不需要实例化,直接类名.方法名()来调用. 这有利于组织代码,把某 ...

  2. axios 简单二次封装

    import axios from 'axios' import { Message } from 'element-ui'; // 设置baseURL //axios.defaults.baseUR ...

  3. shell脚本——数组

    连续的变量 解决:变量过多的问题,在同一类变量中,不需要定义多个名字,而是以数组的方式来定义 定义数组: declare -I 定义整数 declare -a 定义数组 declare -A 定义嵌套 ...

  4. Jenkins服务器安装与配置

    Jenkins是一个非常出色的持续集成服务器,本文主要介绍在CentOS系统中Jenkins的基本安装配置方法,供参考. 一. 软件包: 1. 下载apache-maven-2.2.1-bin.tar ...

  5. 13_Hive优化

    Hive优化 要点:优化时,把hive sql当做map reduce程序来读,会有意想不到的惊喜. 理解hadoop的核心能力,是hive优化的根本. 长期观察hadoop处理数据的过程,有几个显著 ...

  6. idou老师教你学istio1:如何为服务提供安全防护能力

    之前,已为大家介绍过 Istio 第一主打功能---连接服务. 凡是产生连接关系,就必定带来安全问题,人类社会如此,服务网格世界,亦是如此. 今天,我们就来谈谈Istio第二主打功能---保护服务. ...

  7. Codeforces 1187 G - Gang Up

    G - Gang Up 思路: 每个点按时间拆点建边,然后跑最小费用流 一次走的人不能太多,假设每次走的人为k (k*k-(k-1)*(k-1))*d <= c+d k <= 24 代码: ...

  8. jQuery.fn.extend() 函数详解

    jQuery.fn.extend()函数用于为jQuery扩展一个或多个实例属性和方法(主要用于扩展方法). jQuery.fn是jQuery的原型对象,其extend()方法用于为jQuery的原型 ...

  9. metal feature and specification

    https://developer.apple.com/metal/Metal-Feature-Set-Tables.pdf 宝贝 https://developer.apple.com/metal/ ...

  10. 如何从word中直接复制图片到编辑器中

    Chrome+IE默认支持粘贴剪切板中的图片,但是我要发布的文章存在word里面,图片多达数十张,我总不能一张一张复制吧?Chrome高版本提供了可以将单张图片转换在BASE64字符串的功能.但是无法 ...