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.hqwc.cn/news/215321.html

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

相关文章

[chroot+seccomp逃逸] THUCTF2019 之 固若金汤

题目分析 附件为一个源码, 其中注释我都写好了, 主要就讲关键的知识点. #define _GNU_SOURCE#include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include <string.h> #include <errno.h> #include <sched.h> #include <uni…

2023年【山东省安全员C证】考试试卷及山东省安全员C证考试试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2023年【山东省安全员C证】考试试卷及山东省安全员C证考试试题&#xff0c;包含山东省安全员C证考试试卷答案和解析及山东省安全员C证考试试题练习。安全生产模拟考试一点通结合国家山东省安全员C证考试最新大纲及山东…

excel自己记录

1、清除换行符号 2、添加特殊符号&并清除换行符号 7日&15日&30日&60日 3、判断单元格最后一个字符是不是数字&#xff0c;不是就删掉 IF(ISNUMBER(--RIGHT(B2,1)),B2,SUBSTITUTE(B2,RIGHT(B2,1),"")) ISNUMBER(--RIGHT(B2,1))判断最右边的一个数是否…

【C语言】函数(四):函数递归与迭代,二者有什么区别

目录 前言递归定义递归的两个必要条件接受一个整型值&#xff08;无符号&#xff09;&#xff0c;按照顺序打印它的每一位使用函数不允许创建临时变量&#xff0c;求字符串“abcd”的长度求n的阶乘求第n个斐波那契数 迭代总结递归与迭代的主要区别用法不同结构不同时间开销不同…

DataFunSummit:2023年现代数据栈技术峰会-核心PPT资料下载

一、峰会简介 现代数据栈&#xff08;Modern Data Stack&#xff09;是一种集合了多种技术和工具的软件基础设施&#xff0c;旨在更好地管理和处理数据&#xff0c;并为企业提供数据驱动的洞察和决策。包含以下几个组件&#xff1a;数据采集、数据处理、数据存储、数据查询和分…

数据结构-归并排序+计数排序

1.归并排序 基本思想&#xff1a; 归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法的一个非常典型的应用。将已有序的子序列合并&#xff0c;得到完全有序的序列&#xff1b;即先使每个子序列有序&#xff0c;再使子序列段间有序。若将两个有序表合并成一个…

【电子通识】为什么说做产品不是简单的将不同的技术进行搭积木?

很多人说做产品的硬件工程师&#xff0c;其实就是将专项技术工程师已经调好的模块进行拼接。类似于小孩将积木搭成一个房子的形状&#xff0c;虽然不同人搭的房子风格迥异&#xff0c;但所使用的原材料却都是一样的。 首先我并不同意这种看法&#xff0c;原因是产品工程师是需要…

C语言之strstr函数的使用和模拟实现

C语言之strstr函数的模拟实现 文章目录 C语言之strstr函数的模拟实现1. strstr函数的介绍2. strstr函数的使用3. strstr的模拟实现3.1 实现思路3.2 实现代码 1. strstr函数的介绍 函数声明如下&#xff1a; char * strstr ( const char * str1, const char * str2 ); strs…

C#,《小白学程序》第二课:数组,循环与排序

1 什么是数组&#xff1f; 数组 Array 是一组数值&#xff08;数 或 值&#xff09;。 int[] a; int[,] b; int[][] c; Anything[] d; 都是数组。 2 排序 排序就是按大小、名字、拼音或你指定的信息进行比较后排队。 排序是数组最基本的功能需求。 3 文本格式 /// <summa…

游览器缓存讲解

浏览器缓存是指浏览器在本地存储已经请求过的资源的一种机制&#xff0c;以便在将来的请求中能够更快地获取这些资源&#xff0c;减少对服务器的请求&#xff0c;提高页面加载速度。浏览器缓存主要涉及到两个方面&#xff1a;缓存控制和缓存位置。 缓存控制 Expires 头&#…

acwing算法基础之数学知识--求卡特兰数

目录 1 基础知识2 模板3 工程化 1 基础知识 题目&#xff1a;给定n个0和n个1&#xff0c;它们将按照某种顺序排成长度为2n的序列&#xff0c;求它们能排成的所有序列中&#xff0c;能够满足任意前缀序列中0的个数都不少于1的个数的序列有多少个&#xff1f; 输出的答案对 1 0 …

键入网址到网页显示,期间发生了什么?

文章目录 键入网址到网页显示&#xff0c;期间发生了什么&#xff1f;1. HTTP2. 真实地址查询 —— DNS3. 指南好帮手 —— 协议栈4. 可靠传输 —— TCP5. 远程定位 —— IP6. 两点传输 —— MAC7. 出口 —— 网卡8. 送别者 —— 交换机9. 出境大门 —— 路由器10. 互相扒皮 —…