Oracle登录认证方式详解

文章目录

      • 一、简介
      • 二、OS认证
      • 三、口令认证
      • 四、remote_login_passwordfile 详解

一、简介

在数据库管理中,登录认证是确保数据库安全性的重要环节。Oracle数据库提供 了两种认证方式,一种是“操作系统认证”,一种是“口令文件认证,以满足不同场景下的安全需求。

二、OS认证

OS认证(Operating System Authentication)是Oracle数据库中的一种登录认证方式,也称为操作系统认证。
该认证方式依赖于操作系统级别的身份验证机制,用户通过操作系统的身份验证后,可以直接登录到Oracle数据库,无需提供额外的数据库用户名和密码。

使用OS认证,用户可以使用其本地操作系统账户名和密码登陆Oracle数据库。
OS认证的优点是,用户不需要再记忆额外的用户名和密码,能够快速登陆数据库,
且管理员可通过将用户添加到系统组来控制其数据库访问权限。

验证命令:
1.sqlplus/as sysdba
除系统用户外,其他用户依旧需要使用口令进行认证:
sqlplus hr/hr(前面的hr是用户名,后面的hr是密码)

2.sqlnet.ora文件中加入,文件位置在 $ORACLE_HOME/network/admin目录下
SQLNET.AUTHENTICATION_SERVICES=(NTS)
这一种模式只支持WINDOWS NT系统
LINUX下默认是支持OS认证和口令(密码)认证的所以不需要修改sqlnet.ora

案列:
在安装Oracle数据库时创建了一个新的Oracle用户(通常是名为"oracle"的用户),在安装过程中可以选择将该用户添加到dba组中。
该组是Oracle数据库的特权组,拥有sysdba角色的权限。因此,当通过该用户登录数据库时,系统会自动识别该用户属于dba组,并授予其sysdba角色的特权,所以启用OS认证的时候oracle用户可以直接利用 sqlplus / as sysdba登录数据库
在这里插入图片描述
在这里插入图片描述

取消OS认证
1.修改sqlnet.ora(如果没有新创建即可)
路径:
$ORACLE_HOME/network/admin

添加以下内容:
vim sqlnet.ora

SQLNET.AUTHENTICATION_SERVICES=(NONE)

2.重新使用sqlplus / as sysdba登录 这时需要输入用户名和密码并且以sysdba的身份登录
在这里插入图片描述

三、口令认证

Oracle的口令文件的作用是存放所有以sysdba或者sysoper权限连接数据库的用户的口令,如果想以sysdba权限远程连接数据库,必须使用口令文件,否则不能连上。

1、使用口令文件验证
如果当前没有使用口令文件验证。可以采用如下方法开启口令文件验证。
修改salnet.ora里的参数,取消OS认证,打开口令认证方式
SQLNET. AUTHENTICATION_SERVICES = (NONE)

2.建立口令文件(口令文件丢失或者口令文件损坏,无法使用口令登录时重建)

默认格式

$ORACLE_HOME/bin/orapwd file=$ORACLE_HOME/dbs/orapworcl password=oracle force=y format=12 (实例名orcl为例)
force=y 为覆盖老密码文件  format=12(使用12C以前的版本生成,可以避免因为输入的密码过短报错的问题)
$ORACLE_HOME/bin/orapwd file=$ORACLE_HOME/dbs/orapworcl password=oracle force=y format=12

实验一,使用口令文件验证方式,登录sys用户
1.确保口令密码文件存在
在这里插入图片描述
2.使用 sqlplus sys/oracle as sysdba 登录数据库
结果:登录成功
在这里插入图片描述

实验二、删除口令密码文件,使用口令文件验证方式,登录sys用户

1.删除口令密码文件

rm -rf  $ORACLE_HOME/dbs/orapworcl

2.使用 sqlplus sys/oracle as sysdba 登录数据库
结果:登录失败
在这里插入图片描述
结论:使用口令认证方式,必须要有口令密码文件

四、remote_login_passwordfile 详解

在某种情况下使用remote_login_passwordfile参数可以增强系统的安全性,所谓提高安全性就是指禁止以SYSDBA或者SYSOPER特权用户从客户端登录到数据库系统中。

查看当前参数的值
show parameter remote_login_passwordfile
在这里插入图片描述
参数解释:
当取值为 EXCLUSIVE 时,允许客户端以SYSDBA或者SYSOPER特权用户从客户端登录到数据库系统中,完成对数据库的管理操作。允许授权和回收SYSDBA和SYSOPER权限,允许你在sys用户下修改sys用户的密码。
当取值为 NONE时, 禁止客户端以SYSDBA或者SYSOPER特权用户从客户端登录到数据库系统中,完成对数据库的管理操作。禁止授权和回收SYSDBA和SYSOPER权限。
当取值为 SHARED 时,允许客户端以SYSDBA或者SYSOPER特权用户从客户端登录到数据库系统中,完成对数据库的管理操作,禁止授权和回收SYSDBA和SYSOPER权限。

remote_login_passwordfile参数的修改

alter system set remote_login_passwordfile =shared scope=spfile;

由于修改spfile文件修改,需要重启数据库才能生效

shutdown immediate
startup

查看是remote_login_passwordfile参数否修改成功
show parameter remote_login_passwordfile
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/168044.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

智安网络|如何最大限度地提高企业网络安全水平

在当今数字化时代,企业面临着日益复杂和智能化的网络威胁。为了保护企业的机密信息和客户数据,漏洞扫描成为了一个至关重要的安全措施。然而,对于企业来说,他们最关心的是什么问题呢? 一、漏洞的发现和修复 在网络安全…

路径规划之Best-First Search算法

系列文章目录 路径规划之Dijkstra算法 路径规划之Best-First Search算法 路径规划之Best-First Search算法 系列文章目录前言一、Best-First Search算法1.1 起源1.2 过程 三、简单使用 前言 Best-First Search算法和Dijkstra算法类似,都属于BFS的扩展或改进 一、…

Nginx 服务器 SSL 证书安装部署

操作场景 本文档以证书名称 menglinfeng.top 为例。 Nginx 版本以 nginx/1.18.0 为例。 当前服务器的操作系统为 CentOS 7,由于操作系统的版本不同,详细操作步骤略有区别。 安装 SSL 证书前,请您在 Nginx 服务器上开启 “443” 端口&#xf…

基于官方YOLOv4开发构建目标检测模型超详细实战教程【以自建缺陷检测数据集为例】

本文是关于基于YOLOv4开发构建目标检测模型的超详细实战教程,超详细实战教程相关的博文在前文有相应的系列,感兴趣的话可以自行移步阅读即可:《基于yolov7开发实践实例分割模型超详细教程》 《YOLOv7基于自己的数据集从零构建模型完整训练、…

springboot(ssm超市货品信息管理系统 超市购物系统Java(codeLW)

springboot(ssm超市货品信息管理系统 超市购物系统Java(code&LW) 开发语言:Java 框架:ssm/springboot vue JDK版本:JDK1.8(或11) 服务器:tomcat 数据库:mysql 5.7(或8.0&am…

Linux技能篇-非交互式修改密码

今天的文章没有格式,简单分享一个小技能,就是标题所说–非交互式修改密码。 一、普通方式修改用户密码 最普通的修改密码的命令就是passwd命令 [rootlocalhost ~]# passwd root Changing password for user root. New password: Retype new password:…

一文彻底看懂Python切片,Python切片理解与操作

1.什么是切片 切片是Python中一种用于操作序列类型(如列表、字符串和元组)的方法。它通过指定起始索引和结束索引来截取出序列的一部分,形成一个新的序列。切片是访问特定范围内的元素,就是一个Area。 说个笑话:切片不是切片,而是切片,但是又是切片。大家理解下呢(末…

高防cdn防护原理是什么,是否可以防护服务器吗

随着互联网业务的迅速发展,网络安全问题日益凸显。在这样的背景下,高防CDN作为一种有效的网络安全解决方案,受到了越来越多的关注。那么高防CDN的防护原理是什么呢?接下来就跟小德一起深入了解下吧! 1. 高防CDN的基本概念 我们要明确什么是…

【云原生 Prometheus篇】Prometheus的动态服务发现机制

自动发现 一、Prometheus服务发现 理论部分1.1 Prometheus数据采集配置1.2 基于文件的服务发现1.3 基于consul的服务发现1.4 基于 Kubernetes API 的服务发现1.4.1 概念1.4.2 部分配置参数1.4.3 配置模板 二、实例一:部署基于文件的服务发现2.1 创建用于服务发现的文…

Spring事务底层原理(待完善)

EnableTransactionManagement 我们经常使用EnableTransactionManagement开启事务, 这个注解导入一个类,Import(TransactionManagementConfigurationSelector.class), 会在spring容器增加两个bean, AutoProxyRegistrar和ProxyTransactionManagementConfiguration. AutoProxyRe…

IDEA中常用快捷键

整理了一些IDEA开发常用的快捷键: 快捷键组合实现效果psvm Tab键 / main Tab键public static void main(String[] args)sout Tab键System.out.println()Ctrl X删除当前行Ctrl D复制当前行AltInsert(或右键Generate)生成代码(如get,set方法,构造函数等)CtrlAltT…

存储区域

将应用程序加载到内存空间执行时,操作系统负责代码段、数据段和BSS段的加载,并在内存中为这些段分配空间。 栈段亦由操作系统分配和管理,而不需要程序员显示地管理;堆段由程序员自己管理,即显示地申请和释放空间。 进…

uniapp 轮播图(含组件封装,自动注册全局组件)

效果预览 组件封装 src\components\SUI_Swiper.vue 可参考官网配置更多属性 swipernavigator <script setup lang"ts"> import { ref } from vue defineProps({config: Object, })const activeIndex ref(0) const change: UniHelper.SwiperOnChange (e) &…

WPF面试题入门篇

入门篇[2] 1. 谈谈什么是WPF&#xff1f; WPF&#xff08;Windows Presentation Foundation&#xff09;是微软公司开发的一种用于创建Windows应用程序的用户界面框架。它是.NET Framework的一部分&#xff0c;提供了一种基于XAML&#xff08;可扩展应用程序标记语言&#xf…

【算法技巧】位运算

目录 1.概述2.位运算技巧2.1.与运算 (&)2.1.1.判断奇偶性2.1.2.判断一个数是否是 2 的幂2.1.3.将英文字母转换为大写2.1.4.代替取模运算 2.2.或运算 (|)2.2.1.将英文字母转换为小写 2.3.异或运算 (^)2.3.1.消除成对相同的数2.3.2.不使用临时变量来交换两个数2.3.3.进行英文…

一起学docker系列之八使用 Docker 安装配置 MySQL

目录 前言步骤 1&#xff1a;拉取 MySQL 镜像步骤 2&#xff1a;运行 MySQL 容器步骤 3&#xff1a;检查容器状态步骤 4&#xff1a;进入 MySQL 容器步骤 5&#xff1a;配置 MySQL 字符编码步骤 6&#xff1a;重启 MySQL 容器步骤 7&#xff1a;测试字符编码步骤 8&#xff1a;…

防止应用程序截屏(容器式,防止极域电子教室和录屏软件录制)

核心原理、实现目的 1、使用Panel容器将外部窗口嵌入自己写的程序 2、使用防止截屏的函数来对窗口透明&#xff0c;这可以使本窗口内所有窗口在录屏软件上消失 3、解放&#xff0c;抓取&#xff0c;存储句柄&#xff0c;实现摆脱录屏&#xff08;极域监控&#xff09; 程序…

用 Addon 增强 Node.js 和 Electron 应用的原生能力

前言 Node.js Addon 是 Node.js 中为 JavaScript 环境提供 C/C 交互能力的机制。其形态十分类似 Java 的 JNI&#xff0c;都是通过提供一套 C/C SDK&#xff0c;用于在 C/C 中创建函数方法、进行数据转换&#xff0c;以便 JavaScript / Java 等语言进行调用。这样编写的代码通常…

Spring - Mybatis-设计模式总结

Mybatis-设计模式总结 1、Builder模式 2、工厂模式 3、单例模式 4、代理模式 5、组合模式 6、模板方法模式 7、适配器模式 8、装饰者模式 9、迭代器模式 虽然我们都知道有26个设计模式&#xff0c;但是大多停留在概念层面&#xff0c;真实开发中很少遇到&#xff0c;…

【数据结构】时间和空间复杂度

马上就要进入到数据结构的学习了 &#xff0c;我们先来了解一下时间和空间复杂度&#xff0c;这也可以判断我们的算法是否好坏&#xff1b; 如何衡量一个算法的好坏&#xff1f; 就是看它的算法效率 算法效率 算法效率分析分为两种&#xff1a;第一种是时间效率&#xff0c;第…