oracle操作系统认证和口令文件认证

数据库 Oracle
oracle数据库系统在管理本地数据库时,想使用OS认证,使用操作系统认证,不想使用OS认证时,就需要口令文件认证。

oracle操作系统认证和口令文件认证是oracle的两种方式,下面就为您介绍oracle操作系统认证和口令文件认证适用的情况,供您参考。

先总结,后细解:

SQLNET.AUTHENTICATION_SERVICES指$ORACLE_HOME/network/admin/sqlnet.ora配置文件中的参数;
REMOTE_LOGIN_PASSWORDFILE指Oracle的初始化参数,可以在sqlplus里通过show parameter命令查看。

SQLNET.AUTHENTICATION_SERVICES=(NTS)
同时REMOTE_LOGIN_PASSWORDFILE=(’NONE’)
这为OS认证

SQLNET.AUTHENTICATION_SERVICES=(NONE)(或者注释掉了)
同时REMOTE_LOGIN_PASSWORDFILE=(’EXCLUSIVE’)或(’SHARED’)
这为口令文件认证

SQLNET.AUTHENTICATION_SERVICES=(NTS)
同时REMOTE_LOGIN_PASSWORDFILE=(’EXCLUSIVE’)或(’SHARED’)
OS和口令都生效

细解:

1、管理员的权限

SYSDBA: 默认schema 为SYS
SYSOPER: 默认schema 为 PUBLIC
这两种权限允许用户在数据库没有打开的时候就可以登陆数据库,所以这种权限的控制权在数据库之外。通常这种权限也可以被看做一种允许你对数据库进行某种操作的连接,比如CONNECT / AS SYSDBA

SQL> conn /as sysdba
Connected.
SQL> show user
USER is "SYS"
SQL> conn /as sysoper
Connected.
SQL> show user
USER is "PUBLIC"
SQL>

2、两种管理员权限认证方法
 
1) oracle操作系统认证

--以下情况使用该方法:
管理远程数据库时,具有安全的网络连接(secure connection)。
管理本地数据库时,想使用OS认证。

--操作步骤:
a.建立一个os系统用户
b.将这个用户加入到DBA或者OPER的OS组(注释:在window下,这个默认的组名为ORA_DBA/ORA_OPER);
c.设置参数 REMOTE_LOGIN_PASSWORDFILE=NONE
d.编辑sqlnet.ora文件,增加 SQLNET.AUTHENTICATION_SERVICES= (NTS)
e.CONNECT / AS SYSDBA

--关于OSDBA和OSOPER组
OSDBA对应: UNIX下为DBA; WINDOWS下为ORA_DBA
OSOPER对应:UNIX下为OPER;WINDOWS下为ORA_OPER

这些用户组在安装数据库的时候手工或者自动创建,这些组的成员以 as sysdba/sysoper 连接数据库后,自动授予sysdba/sysoper的管理权限。

2) 口令文件认证

--以下情况使用该方法:
管理远程数据库时,没有安全的网络连接(secure connection),比如TCP/IP和DECnet协议。
管理本地数据库时,不想使用OS认证。

--操作步骤:
a.使用ORAPWD创建密码文件(其中的password选项是为SYS用户设置的)
orapwd file=<filename> password=<password> entries=<users>
b.设置参数 remote_login_passwordfile=EXCLUSIVE
c.使用sys用户登陆
d.在数据库中创建用户 create user study identified by study;
e.赋予其SYSDBA/SYSOPER权限
grant sysdba to study; 这样就将用户和密码加入到密码文件中。
grant sysoper to study;
f.查看密码文件中的用户: select * from v$pwfile_users;
如果没有对应的用户信息,需要重启DB,否则登陆时会提示无权限。
g.使用自己的密码登陆: connect study/study as sysdba;

注意:OS认证优先于密码文件认证,只要OS用户属于OSDBA OR OROPER组,并且使用connect as sysdba / sysoper登录,则可以忽略输入的username/password。

3、关于参数remote_login_passwordfile  
None: 使得oracle不使用密码文件,只能使用OS认证,不允许通过不安全网络进行远程管理。
Exclusive: 可以使用***的密码文件,但只限一个数据库。密码文件中可以包括除了sys用户的其他用户。
Shared: 可以在多个数据库上使用共享的密码文件。但是密码文件中只能包含sys用户。通常用于一个dba管理多个数据库的时候。

4、V$PWFILE_USERS使用该视图查看密码文件中的member

SQL> select * from v$pwfile_users;
USERNAME                       SYSDB SYSOP
------------------------------ ----- -----
SYS                            TRUE TRUE
SQL>

5、非管理员级别用户的OS认证方法关键字:os_authent_prefix
create user donny identified externally;
conn

 

 

【编辑推荐】

带您了解Oracle文件系统机制

Oracle查询重复记录的三种方法

查询记录时给oracle记录加锁

深入解读Oracle修改表结构

带您了解Oracle数据库的段

责任编辑:段燃 来源: 互联网
相关推荐

2011-06-23 15:26:49

操作系统认证权限

2012-09-26 09:38:40

2014-08-25 14:58:54

浪潮云操作系统公安部

2009-11-16 16:51:11

操作系统Oracle优

2010-04-12 13:45:35

Oracle认证

2020-08-14 07:55:39

谷歌Android开发者

2009-08-31 09:23:05

2021-08-04 15:54:27

云操作

2011-07-28 09:22:56

Oracle WDPOracle数据库

2009-09-01 09:14:42

2010-02-25 10:27:00

2010-10-29 09:36:18

ORACLE用户

2010-04-16 17:49:28

Unix操作系统

2010-04-29 14:08:38

Unix操作系统

2011-09-15 14:21:38

2022-07-01 20:54:38

认证兼容操作系统

2011-05-05 17:44:20

2010-04-15 16:24:10

Unix操作系统

2010-04-08 15:58:24

Unix操作系统

2010-04-22 14:42:34

Aix操作系统
点赞
收藏

51CTO技术栈公众号