您现在的位置: 万盛学电脑网 >> 程序编程 >> 数据库 >> oracle教程 >> 正文

浅谈Oracle数据库外部身份认证研究

作者:佚名    责任编辑:admin    更新时间:2022-06-22

以下的文章主要是浅谈Oracle数据库的外部身份认证实际研究,我在一个信誉度很好的网站,找到了一个关于浅谈Oracle数据库外部身份认证的一些实用性很强的相关资料,拿出来供大家分享。

一、服务器上使用操作系统验证

1.配置SQLNET.ORA文件

参数NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)表明解析客户端连接时所用的主机字符串的方式。TNSNAMES表示采用TNSNAMES.ORA文件来解析;ONAMES表示Oracle使用自己的名称服务器(Oracle Name Server)来解析,目前Oracle建议使用轻量目录访问协议LDAP来取代ONAMES;HOSTNAME表示使用host文件,DNS,NIS等来解析;参数SQLNET.AUTHENTICATION_SERVICES= (NONE,NTS)表明用户连接Oracle服务器时使用哪种验证方式NONE表示Oracle数据库身份验证,NTS表示操作系统身份验证,两种方式可以并用。

2.建立相应的操作系统组及用户加入该组

ORA_DBA组中的域用户和本地用户不需要Oracle用户名和密码就可以登录Oracle而且该组的用户登录数据库后都具有SYSDBA权限(多个实例时,可以建立类似这样的组ORA_SID_DBA,其中SID指实例名)同理:ORA_OPER组中的成员具有SYSOPER角色的权限。

3.登录方式

C:\>sqlplus “/ as sysdba”

或者C:\>sqlplus nolog,然后SQL>connect / as sysdba

4.init.ora中的Remote_Login_Passwordfile对身份验证的影响。

三个可选值:

NONE:

默认值,指示Oracle系统不使用密码文件,通过操作系统进行身份验证的特权用户拥有SYSORA和SYSOPER权限.

EXCLUSIVE:

1).表示只有一个数据库实例可以使用密码文件;

2).允许将SYSORA和SYSOPER权限赋值给SYS以外的其它用户。

SHARED:

1).表示可以有多个数据库实例可以使用密码文件;

2).不允许将SYSORA和SYSOPER权限赋值给SYS以外的其它用户。

所以,如果要以操作系统身份登录,Remote_Login_Passwordfile应该设置为NONE

  • 共2页:
  • 上一页
  • 1
  • 2
  • 下一页