資料庫的身份驗證方式

risingsunczl發表於2007-01-25
資料庫的身份驗證方式[@more@]
個人認為有3種:os認證、口令檔案驗證和資料字典驗證
os和口令檔案驗證透過sqlnet.ora檔案中的引數SQLNET.AUTHENTICATION_SERVICES,PFILE(或SPFILE)檔案中的引數
REMOTE_LOGIN_PASSWORDFILE和口令檔案PWDsid.ora三者協同作用實現身份認證,具體如下:
1、輔助知識
SQLNET.AUTHENTICATION_SERVICES=(NTS)|(NONE)
SQLNET.AUTHENTICATION_SERVICES=(NTS): 作業系統認證方式,不使用口令檔案
SQLNET.AUTHENTICATION_SERVICES=(NONE):口令檔案認證方式
REMOTE_LOGIN_PASSWORDFILE=('NONE')|('EXCLUSIVE')|('SHARED')
REMOTE_LOGIN_PASSWORDFILE=('NONE'):不使用口令檔案,作業系統認證
REMOTE_LOGIN_PASSWORDFILE=('EXCLUSIVE'):口令檔案認證方式,但只有一個資料庫例項可以使用此檔案,
系統允許將SYSOPER/SYSDBA授予除INTERNAL/SYS以外的其他使用者,且以具有這類身份的其他使用者登入是有效的
REMOTE_LOGIN_PASSWORDFILE=('SHARED'):口令檔案認證方式,可有多個資料庫例項使用此檔案,但是此設定下
只有INTERNAL/SYS帳號能被識別,即使檔案中存有其他使用者的資訊,也不允許他們以SYSOPER/SYSDBA登入
注意:8i以後逐漸棄用了INTERNAL帳號
2、SQLNET.AUTHENTICATION_SERVICES=(NTS)同時REMOTE_LOGIN_PASSWORDFILE=('NONE'),此時為作業系統
認證方式。
sqlplus /nolog
sql>conn /as sysdba
sqlplus /nolog
sql>conn 任意使用者名稱/密碼 as sysdba
sqlplus "/ as sysdba"
均可以sysdba身份登入成功,進行資料庫方面的操作;但是不能在遠端使用上述命令,而且遠端即時用sqlplus "使用者名稱/密碼 as sysdba"也無法登入,因此這種方式只能本地登入
注意:安裝oracle時會自動建立一個ora_dba的使用者組,只有以此使用者組下的使用者登入系統,上述才可能有效
3、SQLNET.AUTHENTICATION_SERVICES=(NONE)同時REMOTE_LOGIN_PASSWORDFILE=('EXCLUSIVE')或('SHARED'),配合口令檔案PWDsid.ora,此時為口令檔案認證方式
當在本地以ora_dba組下的使用者登入進入windows2000後進行下邊的操作:
sqlplus /nolog
sql>conn /as sysdba
系統提示錯誤,實質上是要求提供擁有sysdba身份的使用者名稱和密碼
在本地或遠端進行下邊的操作
sqlplus "sys/密碼@服務名 as sysdba"
可進入系統,也就是說口令檔案認證方式允許使用者從本地或遠端以sysdba身份登入,但必須提供口令
4、SQLNET.AUTHENTICATION_SERVICES=(NTS)同時REMOTE_LOGIN_PASSWORDFILE=('EXCLUSIVE')或('SHARED'),配合口令檔案PWDsid.ora,此時作業系統認證和口令檔案認證同時起作用
5、可以對普通使用者進行sysdba或sysoper的授權
grant sysdba to 使用者名稱
這樣,其他具有sysdba身份的使用者就加入到PWDsid.ora檔案中,此檔案是一個二進位制檔案,我們可以用如下方式查詢是否擁有sysdba或sysoper許可權:
select * from v$pwfile_users
假如授sysdba許可權給scott.
如果用conn scott/tiger進行登陸,則採用資料字典對使用者進行驗證。
如果用conn scott/tiger as sysdba進行登陸,則採用密碼檔案進行驗證。sysdba使用者的密碼是存放在pwd檔案中的。此外,如果用數字字典驗證的方式登陸並修改密碼,相應的密碼會resync到密碼檔案中。也就是說資料字典中的密碼會和密碼檔案的同步。
注意:
普通使用者有sysdba許可權時,進入後執行show user,顯示為sys;有sysoper許可權時,進入後執行show user,顯示為public
普通使用者有此許可權時,當更改此使用者的口令時,同時更改口令檔案的內容也同時修改相關資料字典的內容,即口令同步
6、資料字典驗證

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/653579/viewspace-893443/,如需轉載,請註明出處,否則將追究法律責任。

相關文章