初始化引數REMOTE_OS_AUTHENT

yangtingkun發表於2010-09-16

初始化引數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)

需要說明的是,這個引數開啟後,存在很大的安全隱患,遠端伺服器只要根據資料庫中存在的外部使用者來建立使用者,就可以登陸到資料庫中,因此除非必要,否則不建議開啟這個引數。

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-674248/,如需轉載,請註明出處,否則將追究法律責任。

相關文章