mysql等保测评命令_等保测评2.0:Oracle身份鉴别(上)

一、说明

本篇文章主要说一下Oracle数据库中身份验证控制点中关于身份鉴别的知识点,由于这个地方比较“复杂”,所以这篇文章就不写测评项方面的东西了,放在下篇文章中。

在oracle的身份验证这方面,网上的文章很多,但是真假难辨,而且没有把逻辑说清楚,所以如果不经过自己的测试往往会得到错误的结论或者半对半错的结论。

二、oracle的特性

先说一下我使用的oracle的版本,是11g,装在redhat-7中。

三、启动数据库

启动监听,就是在操作系统中执行lsnrctl start命令,这样才能远程连接oracle数据库(不启动监听的话,就只能在本地进行访问了,也就是装有这个数据库的服务器上)。

对于oracle,启动数据库,需要先在本地对数据库进行连接,此时会显示:

Connected to an idle instance.

e4a352f40193095487a4b2a06b344b32.png

然后再执行startup:

291b5748cd482dedaecb2b0b9245e6aa.png

如果你不启动数据库,连接上去后是执行不了什么查询、更改操作的:

a9e1353dd4deb05d96074187ebf05b14.png

四、特殊的角色

所以这里就存在一个和其它数据库不大一样的地方,比如SqlServer,我要启动SqlServer,用命令行也好,用图形化界面也好,我只要在windows中把SqlServer的相关服务启动起来就可以了。

但是在oracle这里,却需要使用oracle数据库中的用户去连接它然后启动它。

所以这里就会存在一种特殊的数据库的角色,它可以在数据库没有启动的时候,对数据库执行一些操作,比如启动数据库,也可以关闭数据库。

同时必然的,对于属于这列特殊角色的用户,它的身份验证和权限判定肯定不是依靠数据库中相关字段的对比(因为数据库没启动前,无法查询到表中的数据)。

在oracle中,有两种这样的角色,分别是sysdba和sysoper,都具备数据库的启动和关闭权限,这两个角色的权限应该是固定不能更改的,其权限如下:

38f74b002240c6fcd2edbf1a1c7db1ea.png

五、密码文件验证

所以,为了实现对拥有特殊角色如sysdba的用户的口令验证和权限判定,就出现了密码文件。

密码文件中储存了特殊用户的口令和一些权限字段,在linux中,这个文件在$ORACLE_HOME/dbs/目录中,以orapw开头,其内容是加密的:

4226ca156aa5c78e7e6d2b9fb7b8da5b.png

查看里面的内容,需要启动数据库后查看V$PWFILE_USERS视图:

5440c8d8296fb46aad96fbb8fa6d0737.png

这里就能看到,口令文件中仅存在SYS用户,且SYS用户同时拥有sysdba和sysoper角色。

在oracle中,有一个参数可以对密码文件进行控制:remote_login_passwordfile

它有三个值,分别是:EXCLUSIVE、NONE、SHARED

EXCLUSIVE:对于这种特殊用户,使用密码文件来进行验证,另外这也是独占模式,可以将sysdba权限给非sys用户。

NONE:忽视任何密码文件,不使用密码文件对特殊用户验证

SHARED:对于这种特殊用户,使用密码文件来进行验证,另外这是共享模式,可以被一台服务器上的多个数据库或者RAC集群数据库共享,也无法将sysdba权限给非sys用户。</

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值