SQLNET.AUTHENTICATION_SERVICES深入理解

2022-08-18 17:52:45 浏览数 (1)

数据库版本:Oracle 11.2.0.4   

1、官网概念 

SQLNET.AUTHENTICATION参数,官网给出一下解释说明 

Purpose  To enable one or more authentication services. If authentication has been installed, then it is recommended that this parameter be set to either none or to one of the authentication methods. 

Default  ALL 

Note:  When installing the database with Database Configuration Assistant (DBCA), this parameter may be set to nts in the sqlnet.ora file.  Values  Authentication Methods Available with Oracle Net Services:  NONE    for no authentication methods, including Microsoft Windows native operating system authentication. When SQLNET.AUTHENTICATION_SERVICES is set to none, a valid user name and password can be used to access the database.  ALL    for all authentication methods.  NTS    for Microsoft Windows native operating system authentication.  Authentication Methods Available with Oracle Advanced Security:  kerberos5 for Kerberos authentication.  radius for RADIUS authentication.  tcps for SSL authentication. 

2、Windows平台 

对于Windows平台 ,参数SQLNET.AUTHENTICATION_SERVICES  主要是以下几种情况: 

(1). sqlnet.ora文件为空,或用#注释掉              --密码文件验证通过,操作系统认证无法通过  (2). SQLNET.AUTHENTICATION_SERVICES = (NTS)      --操作系统验证通过,密码文件认证也能通过  (3). SQLNET.AUTHENTICATION_SERVICES = (NONE)      --密码文件验证通过,操作系统认证无法通过  (4). SQLNET.AUTHENTICATION_SERVICES = (NONE,NTS)  --操作系统验证通过(前后顺序颠倒也一样),密码文件认证也能通过 (5).  SQLNET.AUTHENTICATION_SERVICES = (ALL)    --在windows下,该种为错误方式,会报如下错误: 

3、Linux平台 

对于Linux平台,参数SQLNET.AUTHENTICATION_SERVICES主要是以下几种情况: 

(1). sqlnet.ora文件为空,或用#注释掉                            --操作系统验证通过,密码文件认证无法通过  (2). SQLNET.AUTHENTICATION_SERVICES = (NTS)      --操作系统验证无法通过,密码文件认证也无法通过  (3). SQLNET.AUTHENTICATION_SERVICES = (NONE)      --操作系统验证无法通过,密码文件认证也无法通过  (4). SQLNET.AUTHENTICATION_SERVICES = (NONE,NTS)  --基于操作系统验证(前后顺序颠倒也一样),密码文件认证也能通过  (5).  SQLNET.AUTHENTICATION_SERVICES = (ALL)        --操作系统验证通过,密码文件认证无法通过 

4、总结 

(1) 该参数默认值为ALL,当通过DBCA建库时,该参数可能为NTS。 (2) 在Windows中,sqlnet.ora文件里默认会包含SQLNET.AUTHENTICATION_SERVICES参数,设置方式参见上述;但是在Linux中默认不包含SQLNET.AUTHENTICATION_SERVICES参数,所以我们刻意配置该参数也没有必要。  (3)  SQLNET.AUTHENTICATION_SERVICES参数只会影响我们在数据库服务器本地登录管理员账号(sys),但是不会影响我们plsql登录数据库。

0 人点赞