程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 帶您了解ORACLE用戶驗證機制

帶您了解ORACLE用戶驗證機制

編輯:Oracle數據庫基礎

Oracle用戶驗證的機制關系到Oracle數據庫的安全,下面就為您詳細介紹Oracle用戶驗證機制,如果您對此感興趣的話,不妨一看。

系統安全一直是各個系統關注的首要問題,而Oracle用戶驗證是其中很重要的一環。一般應用程序習慣性地將用戶驗證放在數據庫中,通過比對用戶的輸入與數據庫記錄來驗證用戶,但數據庫自身如何來驗證呢?Oracle用戶可以分為SYS用戶和普通用戶,他們的驗證方式有所區別

一、SYS用戶驗證

SYS用戶擁有數據庫的完全控制權,對其驗證顯得至關重要。由於進行驗證時數據庫還不可用,Oracle采用兩種方式來驗證SYSDBA用戶:操作系統驗證和口令文件驗證。

1. 操作系統驗證

對於在安裝Oracle的本機上使用Oracle的情況,Oracle可以將用戶驗證交給操作系統,只要登錄操作系統的用戶在DBA組裡,就有SYS用戶的權限,可以修改 $Oracle_HOME/dbs/sqlnet.ora,加入如下行:

SQLNET.AUTHENTICATION_SERVICES= (NTS)

操作系統驗證具有最高優先級,當設置為他時,口令文件驗證不起作用

2. 口令文件驗證

要使用口令文件驗證,首先得禁用操作系統驗證,修改 $ORACLE_HOME/network/admin/sqlnet.ora,加入如下行(這裡將$Oracle_HOME轉化為絕對路徑):

SQLNET.AUTHENTICATION_SERVICES= (NONE)

其次是設置口令驗證配置參數:remote_login_passWordfile,他可以有幾個值,其含義如下

-- none 不使用口令驗證

-- exclusive 僅允許一個實例使用該口令文件

--shared 多個實例可以共用一個口令文件

這裡將參數設置為獨占:

alter system set remote_login_passWordfile=exclusive scope=spfile;

shutdown immediate

使用口令實用程序生成口令文件

orapwd file= $ORACLE_HOME/database/pwdora10g.ora passWord=Oracle

此時嘗試以不同方式登錄數據庫

sqlplus / as sysdba-----------------權限不足

sqlplus sys/Oracle as sysdba---------------使用口令驗證方式,登錄成功

二、普通Oracle用戶驗證

之前講了SYS用戶的驗證,那麼普通用戶如何驗證?

SYS用戶是在數據庫還沒啟動時登錄數據庫進行啟動操作,而普通用戶是在數據庫啟動後操作不同方案下的對象。

所以普通用戶采用的是數據字典的驗證方式:

select username,passWord from dba_users;

可以看到所有用戶和密碼

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved