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

news2024/9/20 2:48:43

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.coloradmin.cn/o/1612075.html

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

相关文章

【从浅学到熟知Linux】基础IO第一弹=>C语言文件操作接口、文件系统调用、文件描述符概念及分配规则

&#x1f3e0;关于专栏&#xff1a;Linux的浅学到熟知专栏用于记录Linux系统编程、网络编程等内容。 &#x1f3af;每天努力一点点&#xff0c;技术变化看得见 文章目录 C语言文件接口回顾系统文件概念与接口文件基本概念系统接口openreadwritecloselseek 什么是当前路径 文件描…

CTFHUB RCE作业

题目地址&#xff1a;CTFHub 完成情况如图&#xff1a; 知识点&#xff1a; preg_match_all 函数 正则匹配函数 int preg_match_all ( string $pattern , string $subject [, array &$matches [, int $flags PREG_PATTERN_ORDER [, int $offset 0 ]]] )搜索 subject 中…

Navicat Premium 16最新版激活 mac/win

Navicat Premium 16 for Mac是一款专业的多连接数据库管理工具。它支持连接多种类型的数据库&#xff0c;包括MySQL、MongoDB、Oracle、SQLite、SQL Server、PostgreSQL等&#xff0c;可以同时连接多种数据库&#xff0c;帮助用户轻松地管理和迁移数据。 Navicat Premium 16 fo…

如何在在wordpress安装百度统计

前言 看过我的往期文章的都知道&#xff0c;我又建了一个网站&#xff0c;这次是来真的了。于是&#xff0c;最近在查阅资料时发现&#xff0c;有一款免费的软件可以帮我吗分析网站数据。&#xff08;虽然我的破烂网站压根没人访问&#xff0c;但是能装上的都得上&#xff0c;…

【离散数学】关系

一、序偶和笛卡尔积 序偶&#xff1a;两个元素按照一定的次序组成的二元组&#xff0c;记为<x,y>&#xff0c;x为第一元素&#xff0c;y为第二元素 序偶的相等条件&#xff1a;<a,b><c,d>当且仅当ac,bd n重有序组&#xff1a;n个元素按照一定次序组成的n元…

CSS——前端笔记

CSS 1、选择器1.1、基础选择器1.2、复合选择器1.2.4、伪类选择器 1.3、属性选择器1.4、结构伪类选择器1.5、伪元素选择器 2、CSS的元素显示模式2.1、块元素2.2、行内元素2.3、行内块元素2.4、元素显示模式转换 3、字体属性3.1、font-family 字体3.2、font-size 字体大小3.3、fo…

Python 数据结构和算法实用指南(四)

原文&#xff1a;zh.annas-archive.org/md5/66ae3d5970b9b38c5ad770b42fec806d 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 第十二章&#xff1a;字符串算法和技术 根据所解决的问题&#xff0c;有许多流行的字符串处理算法。然而&#xff0c;最重要、最流行和最有…

c语言之字符串的集合存放形式

采用指针分配的二维数组与直接定义的二维数组&#xff0c;sizeof的不同 采用指针分配的二维数组&#xff1a; 它的遍历方式是&#xff1a; 上面这个是分配二级指针的地址&#xff0c;二级指针就是一片可以用来分配一级指针空间的地址&#xff0c;然后指针寻址本来就可以当成数组…

Mac多媒体播放器 Movist Pro v2.11.4中文激活版下载

Movist Pro for Mac是一款专业的媒体播放器&#xff0c;特别为Mac用户设计。它不仅界面简洁美观&#xff0c;而且功能强大&#xff0c;能满足用户各种播放需求。 Movist Pro v2.11.4中文激活版下载 首先&#xff0c;Movist Pro for Mac支持多种媒体文件的播放&#xff0c;包括视…

Ubuntu系统安装Anaconda

1. 下载Anconda安装包 1.1 wget命令下载 当然还可以去清华大学开源软件镜像站&#xff1a;Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror&#xff0c;下载各种版本的Anaconda。 wget下载命令如下&#xff1a; 我这里下载的是2024.02…

【IDEA】在IntelliJ IDEA中导入Eclipse项目:详细指南

IntelliJ IDEA和Eclipse是两款常用的集成开发环境&#xff08;IDE&#xff09;&#xff0c;在软件开发中经常会遇到需要在它们之间迁移项目的情况。本文将重点介绍如何在IntelliJ IDEA中导入Eclipse项目&#xff0c;以帮助开发者顺利地迁移他们的项目&#xff0c;并在IntelliJ …

计算机组成原理【CO】Ch7 I/O大题

目录 I/O大题解题方法 I/O接口 各种I/O方式的特点 I/O端口编址 程序查询方式 中断控制方式 DMA控制方式 程序中断的工作流程 程序中断的工作流程 DMA方式和中断方式的区别 I/O大题解题方法 CPU 程序查询中断DMA I/O接口的类型 按字传输&#xff1a;每次传输一个字 程…

OpenCV基本图像处理操作(十)——图像特征harris角点

角点 角点是图像中的一个特征点&#xff0c;指的是两条边缘交叉的点&#xff0c;这样的点在图像中通常表示一个显著的几角。在计算机视觉和图像处理中&#xff0c;角点是重要的特征&#xff0c;因为它们通常是图像中信息丰富的区域&#xff0c;可以用于图像分析、对象识别、3D…

小而强,大不同:小模型SLM在人工智能时代的影响

小模型的优势越来越明显了 在人工智能领域的竞赛中&#xff0c;小型语言模型&#xff08;SLM&#xff09;正在崛起&#xff0c;挑战传统观念。虽然大型语言模型&#xff08;LLM&#xff09;曾占据主导地位&#xff0c;但SLM凭借其小巧、高效和适应性强的优势&#xff0c;正在推…

【php开发工程师系统性教学】——Laravel框架(验证码)的配置和使用的保姆式教程

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;开发者-曼亿点 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 曼亿点 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a…

决策树分类任务实战(python 代码详解)

目录 一、导入库、数据集、并划分训练集和测试集 二、参数调优 (一)第一种调参方法&#xff1a;for循环 (1)单参数优化 ①单参数优化(无K折交叉验证) ②单参数K折交叉验证 优化 (2)多参数优化 ①多参数优化(无K折交叉验证) 参数介绍&#xff1a; ②多参数K折交叉验证…

博客网站/部署服务器---继上篇前端页面接入后端

目录 准备工作 创建用户类博客类与连接数据库 创建博客类 创建用户类 创建连接数据库工具类 实现对数据库数据博客的操作 实现对数据库用户的操作 创建数据库语句 登录页面 前端 后端 博客列表 前端 注销登录 写入数据 判断用户是否登录 替换页面用户昵称 后…

C语言中的控制语句(循环语句while、for)

循环语句 什么是循环 重复执行代码 为什么需要循环循环的实现方式 whiledo...whilefor while语句 语法格式&#xff1a; while (条件) {循环体…… } 需求&#xff1a;跑步5圈 示例代码&#xff1a; #include <stdio.h>int main() {// 需求跑步5圈// 1. 条件变量的…

C语言 逻辑运算符

本文 我们来说 逻辑运算符 有时做出决策需要测试多个条件&#xff0c;C语言提供了用于将简单条件组合成复杂条件的逻辑运算符。 逻辑运算符 如下图 用逻辑运算符连接操作数组成的表达式称为逻辑表达式。 逻辑运算的结果只有0和1 逻辑运算的对象可以是任意数值型&#xff0c;但…

Axure RP 9中文激活版:专业原型设计工具mac/win

Axure RP 9是一款由美国Axure Software Solution公司开发的专业原型设计工具。它凭借强大的交互功能和丰富的设计素材&#xff0c;为产品经理、UI设计师、交互设计师等用户提供了高效、便捷的原型设计体验。 Axure RP 9支持快速创建线框图、流程图、原型和规格说明文档&#xf…