oracle口令檔案認證和作業系統認證

2021-06-22 12:11:53 字數 2031 閱讀 6098

1. 使用作業系統驗證

2個前提必須同時滿足

1)os下建立使用者ora_dba使用者組,

然後可以新建立使用者或者把原來的使用者加入到ora_dba組中,然後使用這個使用者在安裝了資料庫的本地機器登陸或者使用安全的遠端連線登陸,可以作為sysdba登入,在資料庫級不需要提供密碼。

2)sqlnet.ora檔案中加入

sqlnet.authentication_services=(nts)

下列方式都是使用os驗證登陸

sqlplus 「/ as sysdba」

sqlplus 「sys/sys as sysdba」

sqlplus 「sys/sdf as sysdba」           //sys口令錯誤

sqlplus 「scott/sdf as sysdba」         //scott口令錯誤

此時show user 都是sys

說明;只要在登陸是有/ as sysdba。就使用os驗證方式。不管是否是sys使用者,或者密碼是否正確。

這樣存在安全隱患

2. 關閉os驗證

1)      把作業系統使用者的ora_dba組取消     

2)      sqlnet.ora檔案sqlnet.authentication_services= (none)      關閉os認證方式

目錄e:\oracle\product\10.2.0\db_1\network\admin>

2個條件滿足任何乙個即可。

3. 使用口令檔案驗證

如果當前沒有使用口令檔案驗證。可以採用如下方法開啟口令檔案驗證。

1.建立口令檔案

c:\>orapwd file=c:\oracle\ora92\database\pwdtest.ora password=admin entries=5

口令檔名格式

pwd + sid + .ora

必須按照這個格式命名。

oracle 11g目錄

2.確認引數是否正確

remote_login_passwordfile=exclusive

none 不使用口令檔案驗證,如果不使用口令檔案驗證時,沒有使用者在ora_dba組中,那麼就沒有任何使用者可以作為sysdba進入資料庫了。

exclusive 乙個資料庫使用乙個口令檔案

shared       多個資料庫使用乙個口令檔案

如果remote_login_passwordfile=exclusive 而且os中有ora_dba組。那麼使用者如果作為ora_dba組登陸的話。仍然可以使用os的驗證

shared說明

當remote_login_passwordfile=shared時候,

在c:\oracle\ora92\database目錄下仍然生成pwd+sid.ora檔案。每個資料庫使用自己的sys使用者和對應的密碼,但是不能再加入新的有sysdba許可權的使用者

3.重新啟動資料庫,sys自動被加入到口令檔案中

此時。口令檔案中沒有任何使用者。因為剛建立起來。

通過查詢 select * from v$pwfile_users; 可以知道

如果利用grant sysdba to sys; 把sys加入到口令檔案。會報錯。

必須要重啟,會自動吧sys加入進去

4. 把system使用者寫入口令檔案中

grant sysdba to system;

授權命令成功後。

select * from v$pwfile_users;

可以看到system已經在口令檔案中

6.忘記sys口令的話,2種做飯都可以。

1)開啟os認證方式,/as sysdba連線進去。  alter user sys identified by sys;  

2)通過刪除口令檔案.然後用orapwd命令重新建立口令檔案來做.但是需要重啟資料庫

ORACLE口令檔案及密碼認證

oracle口令檔案中存放sysdba sysoper使用者的使用者名稱及口令,允許使用者通過口令檔案驗證。本文包括以下四部分 1 使用orapwd建立口令檔案 2 介紹口令檔案的三種狀態 3 在口令檔案中新增使用者 4 維護口令檔案 5 密碼認證 1.使用orapwd建立口令檔案 什麼時候需要建立...

oracle引數檔案和口令檔案

外部 審核口令 記錄超級使用者的使用者名稱和口令,做sys使用者的安全審核 oracle9以後全部使用sys登入,但需要使用as sysdba 之前版本需要使用internal o7字典開啟 只要使用者和密碼存在於口令檔案,就可以以sysdba登入,使用者永遠是sys 隱式呼叫sys,修改sys口令...

oracle口令檔案

在資料庫未啟動之前,如果在本地則可以通過作業系統認證來啟動資料庫。但是如果不在本地的話,就得通過口令檔案驗證來啟動資料庫。1 oracle口令檔案的建立 orapwd file password entries force nosysdba 說明file 建立的密碼檔案 password 建立的口令...