oracle操作系统OS认证和密码文件认证

news/2024/5/20 23:10:20

1 说明

1.1 常见认证方式

Oracle登录认证方式主要涉及到如何验证用户身份以访问数据库。Oracle数据库提供了多种认证机制来确保数据的安全性和访问控制,每种方式都有其特定的使用场景和安全性考虑。以下是Oracle中常见的登录认证方式:

1、基于操作系统的认证(OS认证)

在基于操作系统的认证中,Oracle依赖底层操作系统的用户身份验证机制。当使用OS认证时,Oracle进程以操作系统用户的身份运行,并继承该用户的权限。这种认证方式通常用于本地连接,特别是在Unix/Linux系统上。

2、密码文件认证(Password File)

密码文件(通常称为“口令文件”)是Oracle提供的一种认证机制,用于在数据库未完全启动或无法访问数据字典时,允许具有SYSDBA或SYSOPER权限的用户进行连接。密码文件通常存放在数据库服务器的特定目录下,并包含加密的用户名和密码信息。

3、数据库认证

数据库认证是最常用的认证方式,它依赖于Oracle数据字典中存储的用户名和密码信息。当用户尝试连接到数据库时,Oracle会查询数据字典以验证提供的用户名和密码是否匹配。普通用户就是使用这种认证方式。与前两种不同的地方在于,在数据库关闭的时候用户不能登录。

4、外部认证

如果配置了os_authent_prefix参数,如默认值为 ops$,当数据库中存在用户 ops$lu9up,且对该用户启用了外部验证。那么在操作系统上以lu9up用户登录成功后,就可以直接键入 sqlplus / ,登录用户是 ops$lu9up,密码由操作系统外部提供,不是数据字典认证。

1.2 数据库管理员身份验证

DBA经常执行一些特殊操作,如关闭数据库、启动数据库、修改参数等。由于只有DBA才能执行这些操作,所以DBA的数据库账号需要一种安全的身份验证方案。

DBA身份验证一般使用上面四种常见的登录认证的前两种:

  • os认证;
  • 口令文件认证。

下面就来着重讲讲这两种认证。

2 基于操作系统的认证(OS认证)

2.1 OSDBA & OSOPER

OSDBA和OSOPER是两个特殊操作系统组,如果操作系统用户属于OSDBA组或者OSOPER组,就能够通过操作系统而不是数据库用户名和密码来认证到数据库,这就是操作系统认证。这两个操作系统组通常被称为OSDBA和OSOPER。熟悉数据库安装的同学都应该有印象,OSDBA和OSOPER这两个组就是在进行操作系统(Linux)配置的时候创建的:

groupadd -g 1001 dba  
groupadd -g 1002 oper

如果操作系统用户属于dba组或者oper组,那么在登录操作系统后,登录数据库的方式为:

  • 如果用户是dba组的成员,并在连接到数据库时指定了as sysdba,那么将以sysdba系统特权连接到数据库。如:sqlplua / as sysdba
  • 如果用户是oper组的成员,并在连接到数据库时指定了as sysoper,那么您将以sysoper系统特权连接到数据库。如:sqlplua / as sysoper
  • 如果用户不是这两个操作系统组的成员,却尝试以SYSDBA或SYSOPER身份连接,那么CONNECT命令将失败。ORA-01017: invalid username/password; logon denied。

下面来试验一下:

创建一个新的操作系统用户lu9up,暂时不添加任何组:

image.png

切换到lu9up用户,尝试指定as sysdba连接数据库

image.png

手动配置一下环境变量,要不然没有sqlplus的路径。

因为lu9up用户不属于dba组,所以OS认证不通过,指定as sysdba连接数据库失败。

给lu9up用户添加dba组,再一次尝试指定as sysdba连接数据库

image.png

3 密码文件认证(Password File)

oracle密码文件用于存储拥有部分特权用户的口令。

是sysdba或者sysoper身份的用户的远程认证密码文件,主要用于sys用户(严格来说是具有sysdba系统权限的用户)的远程登录认证。

这个密码文件的作用就是当数据库未启动的时候,可以通过密码验证的方式登录数据库并进行一系列的mount和open操作。在口令文件丢失或被破坏的情况下,SYS用户仍然可以以本地sysdba身份验证登录到数据库中(OS认证),但不能以sysdba远程登录了。

密码文件通常位于Oracle用户下的$ORACLE_HOME/dbs目录中,并命名为orapw<ORACLE_SID>。在创建数据库时,会生成密码文件,但也可以使用ORAPWD工具手动创建。创建密码文件时,需要指定文件名、SYS账号的口令以及密码文件中可以存放的最大用户数。

在使用密码文件时,需要设置初始化参数REMOTE_LOGIN_PASSWORDFILE来控制其使用状态。这个参数可以设置为EXCLUSIVE、SHARED或NONE,以确定密码文件的使用方式和搜索顺序。

查看初始化参数REMOTE_LOGIN_PASSWORDFILE

image.png

参数值解释:

  • shared:密码文件可供多个数据库实例使用,可以包含sys用户和非sys用户。
  • exclusive:默认值,密码文件只能用于单个数据库实例,可以包含sys用户和非sys用户。
  • none:系统不使用密码文件,特权用户的只能依靠OS认证登录连接数据。

创建一个密码文件

image.png

说明:

  • file:密码文件的文件名为orapworcl;
  • entries:允许5个不同的用户拥有sysdba或者sysoper系统权限;
  • force:覆盖存在的密码文件;
  • password:sys用户的密码。

尝试进行远程登录

image.png

参数REMOTE_LOGIN_PASSWORDFILE当前值为exclusive,允许使用密码文件。当前服务器ip地址为56.3,ssh远程登录到56.2服务器,sqlplus sys/lu9up@192.168.56.3/orcl as sysdba命令连接数据库。

将参数REMOTE_LOGIN_PASSWORDFILE设置为none

image.png

说明:

  • issys_mod=false,说明修改参数不能立刻生效,需要重启后才生效;
  • startup force为强制重启。

参数设置为none后再次远程连接,这次应该是连不上了

image.png


http://www.mrgr.cn/p/58684541

相关文章

拉格朗日(Lagrange)中值定理

preamble罗尔中值定理是理解拉格朗日中值定理的基础罗尔中值定理是拉格朗日中值定理的1个特殊情况泰勒中值定理是拉格朗日中值定理的推广definition 若函数\(f(x)\)满足下列条件:\(f(x)\) 在闭区间\([a,b]\)上连续 \(f(x)\) 在闭区间\((a,b)\)上可导则在\((a,b)\)内至少存在一…

NotePad++联动ABAQUS

Abaqus 中脚本运行 1. 命令区kernel Command Line Interface &#xff08;KCLI&#xff09; execfile(C:\\temp\second develop\chapter2\pyTest1.py)2. CAE-Run Script File->Run Script 3. Abaqus command Abaqus cae noGUIscript.py(前后处理都可)Abaqus Python scr…

30.Gateway网关过滤器链执行顺序

请求进入网关会碰到三类过滤器&#xff1a; 1.当前路由过滤器&#xff08;属于GatewayFilter&#xff09; 2.DefaultFilter&#xff08;属于GatewayFilter&#xff09; 3.GlobalFilter&#xff08;属于GlobalFilter&#xff09; 合并到一个过滤器链集合中&#xff0c;排序后…

SpringBoot项目启动,传参有哪些方式?

SpringBoot项目启动&#xff0c;传参有哪些方式&#xff1f; 1.Spring级别的参数 直接在启动 Spring Boot 应用的命令行中使用 -- 后跟参数名和值的方式来传递参数。 记住&#xff1a;一般是对于Spring Boot应用特有的配置参数&#xff0c;确保它们遵循Spring Boot的配置属性命…

数字旅游引领智慧化浪潮:科技创新重塑旅游体验,智慧服务打造旅游新高度

在科技飞速发展的今天&#xff0c;数字旅游正以其独特的魅力引领着智慧化浪潮&#xff0c;深刻改变着旅游行业的面貌。数字技术的广泛应用&#xff0c;不仅为旅游行业注入了新的活力&#xff0c;也极大地提升了旅游体验的品质。科技创新与智慧服务的融合&#xff0c;正推动着旅…

线性表--单链表代码题

数据结构 线性表--单链表练习题/****************************************************************************** file name: 2024-04-27_reverseLinkdemo.c* author : tongyaqi1110@163.com* date : 2024-04-27* function : 实现单链表的逆序* note : None* Copy…

ZYNQ NVME高速存储之EXT4文件系统

前面文章分析了高速存储的各种方案&#xff0c;目前主流的三种存储方案是&#xff0c;pcie switch高速存储方案&#xff0c;zynq高速存储方案&#xff0c;fpga高速存储方案。虽然三种高速存储方案都可以实现高速存储&#xff0c;但是fpga高速存储方案是最烂的&#xff0c;fpga…

不知什么插件开发的

撸起袖子加油干!!!

centos7使用源码安装方式redis

安装编译源码的工具gcc yum install -y gcc下载源码 源码下载地址 https://download.redis.io/releases/ 注意事项 不建议安装最新版本redis&#xff0c;所以我这里选择6.2.6版本 下载 wget https://download.redis.io/releases/redis-6.2.6.tar.gz解压 tar -zxvf redis-…

zabbix6.4告警配置(短信告警和邮件告警),脚本触发

目录 一、前提二、告警配置1.邮件告警脚本配置2.短信告警脚本配置3.zabbix添加报警媒介4.zabbix创建动作4.给用户添加报警媒介 一、前提 已经搭建好zabbix-server 在需要监控的mysql服务器上安装zabbix-agent2 上述安装步骤参考我的上篇文章&#xff1a;通过docker容器安装za…

R语言的初级学习

终极目标是SCI中的分析内容 数据挖掘 R 学习之路-1 编程语言的代表 生物医学领域(bioconductor)生物医学的宝库 可视化(就是展示数据的图) 基于自己对数据的理解把科研问题转换为编程问题 R project R语言的包库 在使用R的次新版的R语言 2个小时学习基础入门-第一第二本书…

Web前端框架/库/工具

前言 俗话说&#xff1a;前端从步枪&#xff08;原生js&#xff09;到了半自动武器&#xff08;jQuery&#xff09;并进化为全自动武器&#xff08;三大框架&#xff08;angular&#xff0c;react&#xff0c;vue及其生态链&#xff09;&#xff09;。 常说工欲善其事必先利其…

Mybatis入门——基础操作

介绍 什么是Mybatis?Mybatis是一款优秀的 持久层 框架,用于简化JDBC的开发。Mybatis本是Apache的一个开源项目iBatis,2010年这个项目由apache迁移到了goole code,并且改名为Mybatis,2013年11月迁移到GitHub。 官网:https://mybatis.org/mybatis-3/zh_CN/index.html快速入…

C++必修:类与对象(一)

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;C学习 贝蒂的主页&#xff1a;Betty’s blog 1. 面向过程与面向对象 1.1. 面向过程 我们之前学习的C语言就是一种面向过程的语…

vscode侧边栏资源管理器重置

不知道点了哪里,资源管理器侧边栏只剩下一个npm脚本选项卡了,找解决方案找了好久,卸载了vscode都没用,还是因为我的搜索方式不对,最后终于找到了,记录下先 问题图:第一步:按curl + shilt + P 第二步:输入View: Reset View Locations

一文看懂什么是回调函数

文章目录一、什么是回调函数 二、回调示例 三、回调函数的应用场景 四、回调函数的优点 五、回调函数的注意事项一、什么是回调函数回调函数是一种在编程中常见的概念,它是指一个函数作为参数传递给另一个函数,并且在特定事件发生或条件满足时被调用执行的函数。 二、回调示例…

MySQL8.0.22安装

MySQL8.0.22安装及配置(超详细)大家好,今天我们来学习一下 MySQL8.0.22安装及配置,好好看,好好学,超详细的第一步进入MySQL官网下载,如下图所示:第二步进入下载完成后解压到除c盘以外的盘,如下图所示:第三步解压后的目录并没有的my.ini文件,没关系可以自行创建在安装根…

报错import build constraints exclude all Go files in

好久没用fyne突然报错 报错import ...go-gl.. build constraints exclude all Go files in go-gl .. 检查gcc --version正常输出 检查gcc版本正常&#xff0c;路径正常。 尝试解决的方法&#xff0c; 1.重新安装依赖&#xff0c;不行 2.重新配置下载地址&#xff0c;不…

Zephyr sensor子系统学习

一、背景 2023年7月份nRF Connect SDK 2.4.0最新版本&#xff0c;使用的Zephyr V3.3版本。从Zephyr 3.5版本在子系统中加入了sensing子系统。 现在最新的nRF Connect SDK 2.6.0 release支持v3.5.99-ncs1&#xff0c;已经支持sensing子系统 nRF52840现在官方支持两个传感器de…

数据库优化 索引(index)

介绍 索引是帮助数据库高效获取数据的数据结构优缺点: 优点:提高数据查询的效率,降低数据的IO成本。 通过索引列多数据进行排序,降低数据排序的成本,降低CPU消耗缺点:索引会占存储空间。 索引大大提高了查询效率,同时却也降低了insert、update、delete的效率结构 MySql数…