您的位置:首页 > 数据库

分析REMOTE_LOGIN_PASSWORDFILE参数与SQLNET.AUTHENTICATION_SERVICES配置

2014-12-03 14:39 218 查看
1 SQLNET.AUTHENTICATION_SERVICES配置

SQLNET.AUTHENTICATION_SERVICES=(NTS)|(NONE)

SQLNET.AUTHENTICATION_SERVICES=(NTS): 操作系统认证方式,不使用口令文件

SQLNET.AUTHENTICATION_SERVICES=(NONE) : 口令文件认证方式

2 REMOTE_LOGIN_PASSWORDFILE参数

REMOTE_LOGIN_PASSWORDFILE=(NONE)|(EXCLUSIVE)|(SHARED)

REMOTE_LOGIN_PASSWORDFILE=(NONE): 不使用口令文件,操作系统认证

REMOTE_LOGIN_PASSWORDFILE=(EXCLUSIVE): 口令文件认证方式,但只有一个数据库实例可以使用此文件,系统允许将SYSOPER/SYSDBA授予除INTERNAL/SYS以外的其他用户,且以具有这类身份的其他用户登录是有效的

REMOTE_LOGIN_PASSWORDFILE=(SHARED): 口令文件认证方式,可有多个数据库实例使用此文件,但是此设置下只有INTERNAL/SYS帐号能被识别,即使文件中存有其他用户的信息,也不允许他们以SYSOPER/SYSDBA登录

3 两者关系

本地:

方式一: 本地oracle安装用户 sqlplus / as sysdba

方式二: 本地oracle安装用户 sqlplus sys/sys as sysdba

方式三: 本地oracle安装用户 sqlplus sys/sys@linuxtest as sysdba

远程:

方式四: 远程的用户 sqlplus "sys/sys@linuxtest as sysdba"

方式五: 远程的用户 sqlplus "sys/sys@192.168.128.2:1521/test as sysdba"

其中:

密码是sys

tns的服务名是linuxtest

sid是test

REMOTE_LOGIN_PASSWORDFILE

SQLNET.AUTHENTICATION_SERVICES
用户类型
登陆结果
none
none
方式一
无法登录

方式二
无法登录

方式三
无法登录

方式四
无法登录

方式五
无法登录

none
nts(all)
方式一
能登录

方式二
能登录

方式三
能登录(window)

能登录(linux置空)

不能登录(linux设all)

方式四
无法登录

方式五
无法登录

exclusive
none
方式一
无法登录

方式二
能登录

方式三
能登录

方式四
能登录

方式五
能登录

exclusive
nts(all)
方式一
能登录

方式二
能登录

方式三
能登录(window)

能登录(linux置空)

不能登录(linux设all, 但是远程用密码文件又可以)

方式四
能登录

方式五
能登录

1 常见情况举例

1.1 关闭OS验证

SQLNET.AUTHENTICATION_SERVICES=(NONE)

1.2 关闭密码文件认证

REMOTE_LOGIN_PASSWORDFILE=(NONE)

1.3 关闭本地密码文件认证

REMOTE_LOGIN_PASSWORDFILE=(EXCLUSIVE)

SQLNET.AUTHENTICATION_SERVICES=(ALL)

1.4 关闭远程密码文件认证

REMOTE_LOGIN_PASSWORDFILE=(NONE)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: