sys不能以管理員的身份登陸

概要:Oracle關系數據庫系統以其卓越的性能獲得了廣泛的應用,而保證數據庫的安全性是數據庫治理工作的重要內容。本文是筆者在總結Oracle數據庫安全治理工作的基礎上,對Oracle數據庫系統密碼文件的創建、使用和維護作了具體的介紹,供大家參考。

要害詞:Oracle數據庫密碼文件

在Oracle數據庫系統中,用戶假如要以特權用戶身份(INTERNAL/SYSDBA/SYSOPER)登錄Oracle數據庫可以有兩種身份驗證的方法:即使用與操作系統集成的身份驗證或使用Oracle數據庫的密碼文件進行身份驗證。因此,治理好密碼文件,對于控制授權用戶從遠端或本機登錄Oracle數據庫系統,執行數據庫治理工作,具有重要的意義。

Oracle數據庫的密碼文件存放有超級用戶INTERNAL/SYS的口令及其他特權用戶的用戶名/口令,它一般存放在ORACLE_HOME\DATABASE目錄下。

一、 密碼文件的創建:

在使用Oracle Instance Manager創建一數據庫實例的時侯,在ORACLE_HOME\DATABASE目錄下還自動創建了一個與之對應的密碼文件,文件名爲PWDSID.ORA,其中SID代表相應的Oracle數據庫系統標識符。此密碼文件是進行初始數據庫治理工作的基礎。在此之後,治理員也可以根據需要,使用工具ORAPWD.EXE手工創建密碼文件,命令格式如下:

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

各命令參數的含義爲:

---- FILENAME:密碼文件名;

---- PASSWORD:設置INTERNAL/SYS帳號的口令;

---- MAX_USERS:密碼文件中可以存放的最大用戶數,對應于答應以SYSDBA/SYSOPER權限登錄數據庫的最大用戶數。由于在以後的維護中,若用戶數超出了此限制,則需要重建密碼文件,所以此參數可以根據需要設置得大一些。

有了密碼文件之後,需要設置初始化參數REMOTE_LOGIN_PASSWORDFILE來控制密碼文件的使用狀態。

二、 設置初始化參數REMOTE_LOGIN_PASSWORDFILE:

在Oracle數據庫實例的初始化參數文件中,此參數控制著密碼文件的使用及其狀態。它可以有以下幾個選項:

NONE:指示Oracle系統不使用密碼文件,特權用戶的登錄通過操作系統進行身份驗證;

EXCLUSIVE:指示只有一個數據庫實例可以使用此密碼文件。只有在此設置下的密碼文件可以包含有除INTERNAL/SYS以外的用戶信息,即答應將系統權限SYSOPER/SYSDBA授予除INTERNAL/SYS以外的其他用戶。

SHARED:指示可有多個數據庫實例可以使用此密碼文件。在此設置下只有INTERNAL/SYS帳號能被密碼文件識別,即使文件中存有其他用戶的信息,也不答應他們以SYSOPER/SYSDBA的權限登錄。此設置爲缺省值。

在REMOTE_LOGIN_PASSWORDFILE參數設置爲EXCLUSIVE、SHARED情況下,Oracle系統搜索密碼文件的次序爲:在系統注冊庫中查找ORA_SID_PWFILE參數值(它爲密碼文件的全路徑名);若未找到,則查找ORA_PWFILE參數值;若仍未找到,則使用缺省值ORACLE_HOME\DATABASE\PWDSID.ORA;其中的SID代表相應的Oracle數據庫系統標識符。

三、 向密碼文件中增加、刪除用戶:

當初始化參數REMOTE_LOGIN_PASSWORDFILE設置爲EXCLUSIVE時,系統答應除INTERNAL/SYS以外的其他用戶以治理員身份從遠端或本機登錄到Oracle數據庫系統,執行數據庫治理工作;這些用戶名必須存在于密碼文件中,系統才能識別他們。由于不管是在創建數據庫實例時自動創建的密碼文件,還是使用工具ORAPWD.EXE手工創建的密碼文件,都只包含INTERNAL/SYS用戶的信息;爲此,在實際操作中,可能需要向密碼文件添加或刪除其他用戶帳號。

由于僅被授予SYSOPER/SYSDBA系統權限的用戶才存在于密碼文件中,所以當向某一用戶授予或收回SYSOPER/SYSDBA系統權限時,他們的帳號也將相應地被加入到密碼文件或從密碼文件中刪除。由此,向密碼文件中增加或刪除某一用戶,實際上也就是對某一用戶授予或收回SYSOPER/SYSDBA系統權限。

要進行此項授權操作,需使用SYSDBA權限(或INTERNAL帳號)連入數據庫,且初始化參數REMOTE_LOGIN_PASSWORDFILE的設置必須爲EXCLUSIVE。具體操作步驟如下:

創建相應的密碼文件;

設置初始化參數REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE;

使用SYSDBA權限登錄: CONNECTSYS/internal_user_passswordASSYSDBA;

啓動數據庫實例並打開數據庫;

創建相應用戶帳號,對其授權(包括SYSOPER和SYSDBA): 授予權限:GRANTSYSDBATOuser_name;

收回權限:REVOKESYSDBAFROMuser_name;

現在這些用戶可以以治理員身份登錄數據庫系統了;

四、 使用密碼文件登錄:

有了密碼文件後,用戶就可以使用密碼文件以SYSOPER/SYSDBA權限登錄Oracle數據庫實例了,注重初始化參數REMOTE_LOGIN_PASSWORDFILE應設置爲EXCLUSIVE或SHARED。

任何用戶以SYSOPER/SYSDBA的權限登錄後,將位于SYS用戶的Schema之下,以下爲兩個登錄的例子:

1. 以治理員身份登錄:

假設用戶scott已被授予SYSDBA權限,則他可以使用以下命令登錄:

CONNECTscott/tigerASSYSDBA

2. 以INTERNAL身份登錄:

CONNECTINTERNAL/INTERNAL_PASSWORD

五、 密碼文件的維護:

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

可以通過查詢視圖V$PWFILE_USERS來獲取擁有SYSOPER/SYSDBA系統權限的用戶的信息,表中SYSOPER/SYSDBA列的取值TRUE/FALSE表示此用戶是否擁有相應的權限。這些用戶也就是相應地存在于密碼文件中的成員。

2. 擴展密碼文件的用戶數量:

當向密碼文件添加的帳號數目超過創建密碼文件時所定的限制(即ORAPWD.EXE工具的MAX_USERS參數)時,爲擴展密碼文件的用戶數限制,需重建密碼文件,具體步驟如下:

a) 查詢視圖V$PWFILE_USERS,記錄下擁有SYSOPER/SYSDBA系統權限的用戶信息;

b) 關閉數據庫;

c) 刪除密碼文件;

d) 用ORAPWD.EXE新建一密碼文件;

e) 將步驟a中獲取的用戶添加到密碼文件中。

3. 修改密碼文件的狀態:

密碼文件的狀態信息存放于此文件中,當它被創建時,它的缺省狀態爲SHARED。可以通過改變初始化參數REMOTE_LOGIN_PASSWORDFILE的設置改變密碼文件的狀態。當啓動數據庫事例時,Oracle系統從初始化參數文件中讀取REMOTE_LOGIN_PASSWORDFILE參數的設置;當加載數據庫時,系統將此參數與口令文件的狀態進行比較,假如不同,則更新密碼文件的狀態。若計劃答應從多台客戶機上啓動數據庫實例,由于各客戶機上必須有初始化參數文件,所以應確保各客戶機上的初始化參數文件的一致性,以避免意外地改變了密碼文件的狀態,造成數據庫登陸的失敗。

4. 修改密碼文件的存儲位置:

密碼文件的存放位置可以根據需要進行移動,但作此修改後,應相應修改系統注冊庫有關指向密碼文件存放位置的參數或環境變量的設置。

5. 刪除密碼文件:

在刪除密碼文件前,應確保當前運行的各數據庫實例的初始化參數REMOTE_LOGIN_PASSWORDFILE皆設置爲NONE。在刪除密碼文件後,若想要以治理員身份連入數據庫的話,則必須使用操作系統驗證的方法進行登錄

sys不能以管理員的身份登陸
  概要:Oracle關系數據庫系統以其卓越的性能獲得了廣泛的應用,而保證數據庫的安全性是數據庫管理工作的重要內容。本文是筆者在總結Oracle數據庫安全管理工作的基礎上,對Oracle數據庫系統密碼文件的創建、使用和...查看完整版>>sys不能以管理員的身份登陸
 
如何解決無法以SYSDBA的身份遠程登陸ORACLE數據庫
  一、將數據庫初始化參數文件中的remote_login_passWordfile設置爲exclusive或者shared  假如你的數據庫該參數值爲none或別的值,請修改爲兩者中的一個,shared表示該口令文件可以被幾個數據庫公用,使用相同SY...查看完整版>>如何解決無法以SYSDBA的身份遠程登陸ORACLE數據庫
 
如何解決無法以SYSDBA的身份遠程登陸ORACLE數據庫
  一、將數據庫初始化參數文件中的remote_login_passwordfile設置爲exclusive或者shared  如果你的數據庫該參數值爲none或別的值,請修改爲兩者中的一個,shared表示該口令文件可以被幾個數據庫公用,使用相同SY...查看完整版>>如何解決無法以SYSDBA的身份遠程登陸ORACLE數據庫
 
服務程序中如何以當前登陸用戶身份運行程序
開發中有時會遇到這樣的問題,當服務程序需要使用某些功能時,由于用戶的關系而受到限制,比如訪問注冊表的HKEY_CURRENT_USER鍵,使用網絡等等,這時候就需要以當前登陸用戶的身份去進行操作,通常會創建一個進程來完...查看完整版>>服務程序中如何以當前登陸用戶身份運行程序
 
WINDOWS2000服務器賬號登陸身份驗證
<% userflag=trim(request("userflag")) oldPwd=trim(request("oldPwd")) newPwd=trim(request("newPwd")) ''修改內部網和郵箱的密碼 adsPath = "LDAP://file/cn=" & userflag & ",cn=us...查看完整版>>WINDOWS2000服務器賬號登陸身份驗證
 
服務程序中如何以當前登陸用戶身份運行程序
開發中有時會遇到這樣的問題,當服務程序需要使用某些功能時,由于用戶的關系而受到限制,比如訪問注冊表的HKEY_CURRENT_USER鍵,使用網絡等等,這時候就需要以當前登陸用戶的身份去進行操作,通常會創建一個進程來完...查看完整版>>服務程序中如何以當前登陸用戶身份運行程序
 
網管員的解放-獨立遠程管理
網管員的解放-獨立遠程管理
  “RTX騰訊通” 應用技巧ABC:讓溝通成爲生産力!連載之二十七  RTX最新試用版歡迎下載:http://rtx.tencent.com/  * 動態域名  對于一些使用類似于ADSL這種上網方式的用戶來說,他們所獲得的公網ip不是固定...查看完整版>>網管員的解放-獨立遠程管理
 
視窗管理員的六大必備下載
  當大家在進行系統管理時通常會去兩個地方,一個是微軟的知識庫,一個是微軟的下載中心。因爲微軟喜歡不斷的更新他的網頁及鏈接,所以最好的方法查找微軟的文章,工具還是用關鍵字搜索。下面介紹微軟的幾個特別有...查看完整版>>視窗管理員的六大必備下載
 
安全防範:黑客與管理員的較量!
  隨著寬帶網絡的普及,個人服務器、家庭局域網如雨後春筍般出現在小區局域網和校園網中,他們根據自己的喜好開設的各種各樣的共享服務,爲廣大網蟲們提供了豐富的共享資源,但由于自身的精力與資金的原因不能建立...查看完整版>>安全防範:黑客與管理員的較量!
 
 
回到王朝網路首頁