IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類(lèi)|軟件專(zhuān)題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁(yè)數(shù)據(jù)庫(kù)Oracle → Oracle數(shù)據(jù)庫(kù)中文件加密

Oracle數(shù)據(jù)庫(kù)中文件加密

時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)

  Oracle關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)以其卓越的性能獲得了廣泛的應(yīng)用,而保證數(shù)據(jù)庫(kù)的安全性是數(shù)據(jù)庫(kù)管理工作的重要內(nèi)容。本文是筆者在總結(jié)Oracle數(shù)據(jù)庫(kù)安全管理工作的基礎(chǔ)上,對(duì)Oracle數(shù)據(jù)庫(kù)系統(tǒng)密碼文件的創(chuàng)建、使用和維護(hù)作了詳細(xì)的介紹,供大家參考。

  在Oracle數(shù)據(jù)庫(kù)系統(tǒng)中,用戶(hù)如果要以特權(quán)用戶(hù)身份登錄Oracle數(shù)據(jù)庫(kù)可以有兩種身份驗(yàn)證的方法:即使用與操作系統(tǒng)集成的身份驗(yàn)證或使用 Oracle數(shù)據(jù)庫(kù)的密碼文件進(jìn)行身份驗(yàn)證。因此,管理好密碼文件,對(duì)于控制授權(quán)用戶(hù)從遠(yuǎn)端或本機(jī)登錄Oracle數(shù)據(jù)庫(kù)系統(tǒng),執(zhí)行數(shù)據(jù)庫(kù)管理工作,具有重要的意義。

  Oracle數(shù)據(jù)庫(kù)的密碼文件存放有超級(jí)用戶(hù)INTERNAL/SYS的口令及其他特權(quán)用戶(hù)的用戶(hù)名/口令,它一般存放在ORACLE_HOME\DATABASE目錄下。

  創(chuàng)建密碼文件

  在使用Oracle Instance Manager創(chuàng)建一數(shù)據(jù)庫(kù)實(shí)例的時(shí)侯,在ORACLE_HOME\DATABASE目錄下還自動(dòng)創(chuàng)建了一個(gè)與之對(duì)應(yīng)的密碼文件,文件名為 PWDSID.ORA,其中SID代表相應(yīng)的Oracle數(shù)據(jù)庫(kù)系統(tǒng)標(biāo)識(shí)符。此密碼文件是進(jìn)行初始數(shù)據(jù)庫(kù)管理工作的基矗在此之后,管理員也可以根據(jù)需要,使用工具ORAPWD.EXE手工創(chuàng)建密碼文件,命令格式如下:

  C:\ >ORAPWDFILE=< FILENAME >PASSWORD =< PASSWORD > ENTRIES=< MAX_USERS >

  各命令參數(shù)的含義為:

  FILENAME:密碼文件名;

  PASSWORD:設(shè)置INTERNAL/SYS帳號(hào)的口令。

  MAX_USERS:密碼文件中可以存放的最大用戶(hù)數(shù),對(duì)應(yīng)于允許以SYSDBA/SYSOPER權(quán)限登錄數(shù)據(jù)庫(kù)的最大用戶(hù)數(shù)。由于在以后的維護(hù)中,若用戶(hù)數(shù)超出了此限制,則需要重建密碼文件,所以此參數(shù)可以根據(jù)需要設(shè)置得大一些。

  有了密碼文件之后,需要設(shè)置初始化參數(shù)REMOTE_LOGIN_PASSWORDFILE來(lái)控制密碼文件的使用狀態(tài)。

  設(shè)置初始化參數(shù)

  在Oracle數(shù)據(jù)庫(kù)實(shí)例的初始化參數(shù)文件中,此參數(shù)控制著密碼文件的使用及其狀態(tài)。它可以有以下幾個(gè)選項(xiàng):

  NONE:指示Oracle系統(tǒng)不使用密碼文件,特權(quán)用戶(hù)的登錄通過(guò)操作系統(tǒng)進(jìn)行身份驗(yàn)證。

  EXCLUSIVE:指示只有一個(gè)數(shù)據(jù)庫(kù)實(shí)例可以使用此密碼文件。只有在此設(shè)置下的密碼文件可以包含有除INTERNAL/SYS以外的用戶(hù)信息,即允許將系統(tǒng)權(quán)限SYSOPER/SYSDBA授予除INTERNAL/SYS以外的其他用戶(hù)。

  SHARED:指示可有多個(gè)數(shù)據(jù)庫(kù)實(shí)例可以使用此密碼文件。在此設(shè)置下只有INTERNAL/SYS帳號(hào)能被密碼文件識(shí)別,即使文件中存有其他用戶(hù)的信息,也不允許他們以SYSOPER/SYSDBA的權(quán)限登錄。此設(shè)置為缺省值。

  在REMOTE_LOGIN_PASSWORDFILE參數(shù)設(shè)置為EXCLUSIVE、SHARED情況下,Oracle系統(tǒng)搜索密碼文件的次序?yàn)椋涸谙到y(tǒng)注冊(cè)庫(kù)中查找ORA_SID_PWFILE參數(shù)值(它為密碼文件的全路徑名);若未找到,則查找ORA_PWFILE參數(shù)值;若仍未找到,則使用缺省值ORACLE_HOME\DATABASE\PWDSID.ORA;其中的SID代表相應(yīng)的Oracle數(shù)據(jù)庫(kù)系統(tǒng)標(biāo)識(shí)符。

  向密碼文件中增加、刪除用戶(hù)

  當(dāng)初始化參數(shù)REMOTE_LOGIN_PASSWORDFILE設(shè)置為EXCLUSIVE時(shí),系統(tǒng)允許除INTERNAL/SYS以外的其他用戶(hù)以管理員身份從遠(yuǎn)端或本機(jī)登錄到Oracle數(shù)據(jù)庫(kù)系統(tǒng),執(zhí)行數(shù)據(jù)庫(kù)管理工作;這些用戶(hù)名必須存在于密碼文件中,系統(tǒng)才能識(shí)別他們。由于不管是在創(chuàng)建數(shù)據(jù)庫(kù)實(shí)例時(shí)自動(dòng)創(chuàng)建的密碼文件,還是使用工具ORAPWD.EXE手工創(chuàng)建的密碼文件,都只包含INTERNAL/SYS用戶(hù)的信息;為此,在實(shí)際操作中,可能需要向密碼文件添加或刪除其他用戶(hù)帳號(hào)。

  由于僅被授予SYSOPER/SYSDBA系統(tǒng)權(quán)限的用戶(hù)才存在于密碼文件中,所以當(dāng)向某一用戶(hù)授予或收回SYSOPER/SYSDBA系統(tǒng)權(quán)限時(shí),他們的帳號(hào)也將相應(yīng)地被加入到密碼文件或從密碼文件中刪除。由此,向密碼文件中增加或刪除某一用戶(hù),實(shí)際上也就是對(duì)某一用戶(hù)授予或收回 SYSOPER/SYSDBA系統(tǒng)權(quán)限。

  要進(jìn)行此項(xiàng)授權(quán)操作,需使用SYSDBA權(quán)限(或INTERNAL帳號(hào))連入數(shù)據(jù)庫(kù),且初始化參數(shù)REMOTE_LOGIN_PASSWORDFILE的設(shè)置必須為EXCLUSIVE。具體操作步驟如下:

  ◆ 創(chuàng)建相應(yīng)的密碼文件;

  ◆ 設(shè)置初始化參數(shù)REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE;

  ◆ 使用SYSDBA權(quán)限登錄: CONNECTSYS/internal_user_passswordASSYSDBA;

  ◆ 啟動(dòng)數(shù)據(jù)庫(kù)實(shí)例并打開(kāi)數(shù)據(jù)庫(kù);

  ◆ 創(chuàng)建相應(yīng)用戶(hù)帳號(hào),對(duì)其授權(quán)(包括SYSOPER和SYSDBA): 授予權(quán)限:GRANTSYSDBATOuser_name;

  ◆ 收回權(quán)限:REVOKESYSDBAFROMuser_name?,F(xiàn)在這些用戶(hù)可以以管理員身份登錄數(shù)據(jù)庫(kù)系統(tǒng)了。

  使用密碼文件登錄

  有了密碼文件后,用戶(hù)就可以使用密碼文件以SYSOPER/SYSDBA權(quán)限登錄Oracle數(shù)據(jù)庫(kù)實(shí)例了,注意初始化參數(shù) REMOTE_LOGIN_PASSWORDFILE應(yīng)設(shè)置為EXCLUSIVE或SHARED。任何用戶(hù)以SYSOPER/SYSDBA的權(quán)限登錄后,將位于SYS用戶(hù)的Schema之下,以下為兩個(gè)登錄的例子:

  1. 以管理員身份登錄:

  假設(shè)用戶(hù)scott已被授予SYSDBA權(quán)限,則他可以使用以下命令登錄:

  CONNECTscott/tigerASSYSDBA

  2. 以INTERNAL身份登錄:

  CONNECTINTERNAL/INTERNAL_PASSWORD

  保護(hù)密碼文件

  1. 查看密碼文件中的成員

  可以通過(guò)查詢(xún)視圖V$PWFILE_USERS來(lái)獲取擁有SYSOPER/SYSDBA系統(tǒng)權(quán)限的用戶(hù)的信息,表中SYSOPER/SYSDBA列的取值TRUE/FALSE表示此用戶(hù)是否擁有相應(yīng)的權(quán)限。這些用戶(hù)也就是相應(yīng)地存在于密碼文件中的成員。

  2. 修改密碼文件的狀態(tài)

  密碼文件的狀態(tài)信息存放于此文件中,當(dāng)它被創(chuàng)建時(shí),它的缺省狀態(tài)為SHARED。可以通過(guò)改變初始化參數(shù) REMOTE_LOGIN_PASSWORDFILE的設(shè)置改變密碼文件的狀態(tài)。當(dāng)啟動(dòng)數(shù)據(jù)庫(kù)事例時(shí),Oracle系統(tǒng)從初始化參數(shù)文件中讀取 REMOTE_LOGIN_PASSWORDFILE參數(shù)的設(shè)置;當(dāng)加載數(shù)據(jù)庫(kù)時(shí),系統(tǒng)將此參數(shù)與口令文件的狀態(tài)進(jìn)行比較,如果不同,則更新密碼文件的狀態(tài)。若計(jì)劃允許從多臺(tái)客戶(hù)機(jī)上啟動(dòng)數(shù)據(jù)庫(kù)實(shí)例,由于各客戶(hù)機(jī)上必須有初始化參數(shù)文件,所以應(yīng)確保各客戶(hù)機(jī)上的初始化參數(shù)文件的一致性,以避免意外地改變了密碼文件的狀態(tài),造成數(shù)據(jù)庫(kù)登陸的失敗。

  3. 修改密碼文件的存儲(chǔ)位置

  密碼文件的存放位置可以根據(jù)需要進(jìn)行移動(dòng),但作此修改后,應(yīng)相應(yīng)修改系統(tǒng)注冊(cè)庫(kù)有關(guān)指向密碼文件存放位置的參數(shù)或環(huán)境變量的設(shè)置。

  4. 刪除密碼文件

  在刪除密碼文件前,應(yīng)確保當(dāng)前運(yùn)行的各數(shù)據(jù)庫(kù)實(shí)例的初始化參數(shù)REMOTE_LOGIN_PASSWORDFILE皆設(shè)置為NONE。在刪除密碼文件后,若想要以管理員身份連入數(shù)據(jù)庫(kù)的話,則必須使用操作系統(tǒng)驗(yàn)證的方法進(jìn)行登錄。

關(guān)鍵詞標(biāo)簽:Oracle,數(shù)據(jù)庫(kù),文件加

相關(guān)閱讀

文章評(píng)論
發(fā)表評(píng)論

熱門(mén)文章 Oracle中使用alter table來(lái)增加,刪除,修改列的語(yǔ)法 Oracle中使用alter table來(lái)增加,刪除,修改列的語(yǔ)法 oracle中使用SQL語(yǔ)句修改字段類(lèi)型-oracle修改SQL語(yǔ)句案例 oracle中使用SQL語(yǔ)句修改字段類(lèi)型-oracle修改SQL語(yǔ)句案例 誤刪Oracle數(shù)據(jù)庫(kù)實(shí)例的控制文件 誤刪Oracle數(shù)據(jù)庫(kù)實(shí)例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索 為UNIX服務(wù)器設(shè)置Oracle全文檢索

相關(guān)下載

    人氣排行 oracle中使用SQL語(yǔ)句修改字段類(lèi)型-oracle修改SQL語(yǔ)句案例 Oracle中使用alter table來(lái)增加,刪除,修改列的語(yǔ)法 ORACLE SQL 判斷字符串是否為數(shù)字的語(yǔ)句 ORACLE和SQL語(yǔ)法區(qū)別歸納(1) oracle grant 授權(quán)語(yǔ)句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法