初始化参数REMOTE_OS_AUTHENT

来源:互联网 发布:怎样注册网络主播 编辑:程序博客网 时间:2024/06/03 07:29

初始化参数REMOTE_OS_AUTHENT用来控制是否允许远端操作系统验证。


默认情况下,数据库只运行本地服务器上的操作系统验证:

SQL> SELECT * FROM GLOBAL_NAME;

GLOBAL_NAME
------------------------------------------------------------------------------------
TESTRAC

SQL> SELECT * FROM V$VERSION;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production
CORE 10.2.0.4.0 Production
TNS for Solaris: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production

SQL> SHOW PARAMETER OS_AUTH

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
os_authent_prefix string ops$
remote_os_authent boolean FALSE
SQL> CREATE USER OPS$ORACLE IDENTIFIED EXTERNALLY;

用户已创建。

SQL> GRANT CONNECT TO OPS$ORACLE;

授权成功。

SQL> HOST
$ sqlplus /

SQL*Plus: Release 10.2.0.4.0 - Production on 星期五 9 17 00:13:25 2010

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

连接到
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options

SQL> SHOW USER
USER 
 "OPS$ORACLE"

建立了OPS$ORACLE用户后,本地可以使用操作系统验证方式登陆,但是远端服务器无法使用同样的方法登陆:

[oracle@bjtest ~]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on 星期五 9 17 08:53:57 2010

Copyright (c) 1982, 2009, Oracle. All rights reserved.

SQL> SET SQLP 'SQL112> '
SQL112> CONN /@172.25.198.223/TESTRAC
ERROR:
ORA-01017: invalid username/password; logon denied

如果修改REMOTE_OS_AUTHENT参数:

SQL> EXIT Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options 
断开

$ exit

SQL> ALTER SYSTEM SET REMOTE_OS_AUTHENT = TRUE SCOPE = SPFILE;

系统已更改。

SQL> SHUTDOWN IMMEDIATE数据库已经关闭。已经卸载数据库。
ORACLE 
例程已经关闭。
SQL> STARTUP
ORACLE 
例程已经启动。

Total System Global Area 1258291200 bytes
Fixed Size 2040280 bytes
Variable Size 318774824 bytes
Database Buffers 922746880 bytes
Redo Buffers 14729216 bytes
数据库装载完毕。数据库已经打开。

利用远端服务器再次尝试操作系统验证登陆:

SQL112> CONN /@172.25.198.223/TESTRAC已连接。
SQL112> SELECT * FROM GLOBAL_NAME;

GLOBAL_NAME
--------------------------------------------------------------------------------
TESTRAC

SQL112> HOST id
uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba)

需要说明的是,这个参数开启后,存在很大的安全隐患,远端服务器只要根据数据库中存在的外部用户来创建用户,就可以登陆到数据库中,因此除非必要,否则不建议开启这个参数。

原创粉丝点击