wordpress仿站教程2018免费软件的特征
文章目录
- 一、简介
 - 二、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
 
