共計(jì) 5971 個(gè)字符,預(yù)計(jì)需要花費(fèi) 15 分鐘才能閱讀完成。
這篇文章主要講解了“REMOTE_LOGIN_PASSWORDFILE 參數(shù)的三種取值對(duì)系統(tǒng)有哪些影響”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著丸趣 TV 小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“REMOTE_LOGIN_PASSWORDFILE 參數(shù)的三種取值對(duì)系統(tǒng)有哪些影響”吧!
在某些情況下可以使用 REMOTE_LOGIN_PASSWORDFILE 參數(shù)增強(qiáng)系統(tǒng)的安全性,所謂提高安全性就是禁止以 SYSDBA 或 SYSOPER 特權(quán)用戶(hù)從客戶(hù)端登陸到數(shù)據(jù)庫(kù)系統(tǒng)中。這是一種犧牲管理便捷性為前提的。需酌情使用。
1. 參考信息
官方文檔中有關(guān) REMOTE_LOGIN_PASSWORDFILE 參數(shù)的描述:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/initparams179.htm#REFRN10184
2. REMOTE_LOGIN_PASSWORDFILE 參數(shù)默認(rèn)值及其行為特性分析
1)REMOTE_LOGIN_PASSWORDFILE 參數(shù)的默認(rèn)值是 EXCLUSIVE
sys@ora10g show parameter REMOTE_LOGIN_PASSWORDFILE
NAME TYPE VALUE
————————– ———- ———————-
remote_login_passwordfile string EXCLUSIVE
2)嘗試將 SYSDBA 特權(quán)授予給普通用戶(hù) secooler
sys@ora10g grant sysdba to secooler;
grant sysdba to secooler
*
ERROR at line 1:
ORA-01994: GRANT failed: password file missing or disabled
此處報(bào)錯(cuò)是由于密碼文件丟失導(dǎo)致的,因?yàn)槭谟?sysdba 權(quán)限需要調(diào)整密碼文件。
3)手工創(chuàng)建丟失的密碼文件
ora10g@secdb /home/oracle$ cd $ORACLE_HOME/dbs
ora10g@secdb /oracle/app/oracle/product/10.2.0/db_1/dbs$
ora10g@secdb /oracle/app/oracle/product/10.2.0/db_1/dbs$ orapwd file=orapwora10g password=oracle entries=10
4)再次嘗試 SYSDBA 授權(quán)成功
sys@ora10g grant sysdba to secooler;
Grant succeeded.
5)密碼文件的變化
此時(shí)在密碼文件中記錄了這個(gè)授權(quán)的信息。
ora10g@secdb /oracle/app/oracle/product/10.2.0/db_1/dbs$ strings orapwora10g
]\[Z
ORACLE Remote Password file
INTERNAL
AB27B53EDC5FEF41
8A8F025737A9097A
SECOOLER
034E4342BB2D437D
最后兩行信息即是新增的內(nèi)容。
6)客戶(hù)端連接性測(cè)試
$ sqlplus secooler/secooler@ora10g as sysdba
SQL*Plus: Release 10.2.0.3.0 – Production on 星期二 12 月 21 21:48:34 2010
Copyright (c) 1982, 2006, Oracle.? All Rights Reserved.
連接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 – 64bit Production
With the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine options
SQL show user;
USER 為 SYS
SQL
注意,此處我們雖然使用的是普通用戶(hù) secooler 登錄的數(shù)據(jù)庫(kù),但真實(shí)的用戶(hù)名是 SYS。因此我們便可以使用這種方法來(lái)管理數(shù)據(jù)庫(kù),這就是便捷所在。
7)人為移除密碼文件測(cè)試
如果此時(shí)我們將密碼文件刪除,客戶(hù)端將沒(méi)有辦法再以 sysdba 權(quán)限連接到數(shù)據(jù)庫(kù)
$ sqlplus secooler/secooler@ora10g as sysdba
SQL*Plus: Release 10.2.0.3.0 – Production on 星期二 12 月 21 21:53:50 2010
Copyright (c) 1982, 2006, Oracle.? All Rights Reserved.
ERROR:
ORA-01031: insufficient privileges
請(qǐng)輸入用戶(hù)名:
因此,通過(guò) REMOTE_LOGIN_PASSWORDFILE 參數(shù)和密碼文件共同實(shí)現(xiàn)了客戶(hù)端以 SYSDBA 權(quán)限登錄系統(tǒng)的目的。
3. REMOTE_LOGIN_PASSWORDFILE 參數(shù) NONE 值及其行為特性分析
1)調(diào)整參數(shù) REMOTE_LOGIN_PASSWORDFILE 為 NONE
sys@ora10g alter system set remote_login_passwordfile=none scope=spfile;
System altered.
sys@ora10g shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
sys@ora10g startup;
ORACLE instance started.
Total System Global Area 835104768 bytes
Fixed Size 2257840 bytes
Variable Size 549456976 bytes
Database Buffers 281018368 bytes
Redo Buffers 2371584 bytes
Database mounted.
Database opened.
sys@ora10g show parameter REMOTE_LOGIN_PASSWORDFILE
NAME TYPE VALUE
————————– ———- ———————-
remote_login_passwordfile string NONE
2)調(diào)整后,客戶(hù)端將無(wú)法發(fā)起連接
$ sqlplus secooler/secooler@ora10g as sysdba
SQL*Plus: Release 10.2.0.3.0 – Production on 星期二 12 月 21 22:00:02 2010
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
ERROR:
ORA-01017: invalid username/password; logon denied
請(qǐng)輸入用戶(hù)名:
3)SYSDBA 權(quán)限的授予與回收亦是被禁止的
(1)授權(quán)測(cè)試
sys@ora10g grant sysdba to secooler;
grant sysdba to secooler
*
ERROR at line 1:
ORA-01994: GRANT failed: password file missing or disabled
注意,此處的報(bào)錯(cuò)原因是不是因?yàn)槊艽a文件不存在,與前面曾經(jīng)提到的報(bào)錯(cuò)信息有區(qū)別。
(2)回收測(cè)試
sys@ora10g revoke sysdba from secooler;
Revoke succeeded.
此處雖然提示權(quán)限回收成功,但是實(shí)際上并沒(méi)有生效,是無(wú)效操作。證明之。
1 在此基礎(chǔ)上調(diào)整參數(shù)為 EXCLUSIVE
sys@ora10g alter system set remote_login_passwordfile=EXCLUSIVE scope=spfile;
System altered.
sys@ora10g startup force;
ORACLE instance started.
Total System Global Area 835104768 bytes
Fixed Size 2257840 bytes
Variable Size 549456976 bytes
Database Buffers 281018368 bytes
Redo Buffers 2371584 bytes
Database mounted.
Database opened.
2 此時(shí)客戶(hù)端依然能夠成功登陸
$ sqlplus secooler/secooler@172.17.193.211ora10g as sysdba
SQL*Plus: Release 10.2.0.3.0 – Production on 星期二 12 月 21 22:06:05 2010
Copyright (c) 1982, 2006, Oracle.? All Rights Reserved.
連接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 – 64bit Production
With the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine options
SQL show user
USER 為 SYS
SQL
SQL show parameter REMOTE_LOGIN_PASSWORDFILE
NAME TYPE VALUE
———————————— ———– ——————————
remote_login_passwordfile string EXCLUSIVE
結(jié)論:因此證明了當(dāng) REMOTE_LOGIN_PASSWORDFILE 參數(shù)為 NONE 時(shí)回收 SYSDBA 權(quán)限是無(wú)效的。
4.REMOTE_LOGIN_PASSWORDFILE 參數(shù) SHARED 值及其行為特性分析
1)調(diào)整參數(shù) REMOTE_LOGIN_PASSWORDFILE 為 SHARED
sys@ora10g alter system set remote_login_passwordfile=shared scope=spfile;
System altered.
sys@ora10g startup force;
ORACLE instance started.
Total System Global Area 835104768 bytes
Fixed Size 2257840 bytes
Variable Size 549456976 bytes
Database Buffers 281018368 bytes
Redo Buffers 2371584 bytes
Database mounted.
Database opened.
sys@ora10g show parameter remote_login_passwordfile
NAME TYPE VALUE
———————————— ———– ——————————
remote_login_passwordfile string SHARED
2)此時(shí)客戶(hù)端的連接是不受限制的,連接通暢
$ sqlplus secooler/secooler@ora10g as sysdba
SQL*Plus: Release 10.2.0.3.0 – Production on 星期二 12 月 21 22:08:04 2010
Copyright (c) 1982, 2006, Oracle.? All Rights Reserved.
連接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 – 64bit Production
With the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine options
SQL
SQL show user
USER 為 SYS
3)此時(shí)服務(wù)器端授予和回收 SYSDBA 權(quán)限是不被允許的
sys@ora10g grant sysdba to secooler;
grant sysdba to secooler
*
ERROR at line 1:
ORA-01999: password file cannot be updated in SHARED mode
sys@ora10g revoke sysdba from secooler;
revoke sysdba from secooler
*
ERROR at line 1:
ORA-01999: password file cannot be updated in SHARED mode
5. 小結(jié)
在此總結(jié)一下在 REMOTE_LOGIN_PASSWORDFILE 參數(shù)取不同值時(shí)的行為特性。REMOTE_LOGIN_PASSWORDFILE 參數(shù)可以有三種取值:EXCLUSIVE(默認(rèn))、NONE 和 SHARED。
1)當(dāng)取值為 EXCLUSIVE 時(shí)
允許客戶(hù)端以 SYSDBA 或 SYSOPER 權(quán)限登錄到數(shù)據(jù)庫(kù)實(shí)例中完成數(shù)據(jù)庫(kù)管理操作;
允許授予和回收 SYSDBA 或 SYSOPER 權(quán)限。
2)當(dāng)取值為 NONE 時(shí)
禁止客戶(hù)端以 SYSDBA 或 SYSOPER 權(quán)限登錄到數(shù)據(jù)庫(kù)實(shí)例中完成數(shù)據(jù)庫(kù)管理操作;
禁止授予和回收 SYSDBA 或 SYSOPER 權(quán)限。
3)當(dāng)取值為 SHARED 時(shí)
允許客戶(hù)端以 SYSDBA 或 SYSOPER 權(quán)限登錄到數(shù)據(jù)庫(kù)實(shí)例中完成數(shù)據(jù)庫(kù)管理操作;
禁止授予和回收 SYSDBA 或 SYSOPER 權(quán)限。
以上便是參數(shù) REMOTE_LOGIN_PASSWORDFILE 在不同取值情況下對(duì)系統(tǒng)的影響(本文是以 SYSDBA 特權(quán)為例,SYSOPER 特權(quán)相同)。每一種取值都有其自己的應(yīng)用場(chǎng)景。我們需要做的是根據(jù)不同的場(chǎng)景做出相應(yīng)的取舍。
感謝各位的閱讀,以上就是“REMOTE_LOGIN_PASSWORDFILE 參數(shù)的三種取值對(duì)系統(tǒng)有哪些影響”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì) REMOTE_LOGIN_PASSWORDFILE 參數(shù)的三種取值對(duì)系統(tǒng)有哪些影響這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!