oracle os認證和口令檔案認證的簡要解析
sqlnet.ora 檔案中的內容:
# SQLNET.ORA Network Configuration File: D:oracleora92networkadminsqlnet.ora
# Generated by Oracle configuration tools.
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME) 。
------------------------------------------------------------------------------------------------
環境
windows2000+sp4,oracle9.201
oracle軟體以oracle帳戶安裝
一、sysdba的許可權
sysdba(sysoper和normal)是登入資料庫的身份,與角色(dba、resource)、物件許可權及系統許可權有所區別,登入身份表明了可對資料庫的整體進行哪些操作,sysdba有些類似unix下的root帳戶。
sysdba的許可權或可對資料庫進行的操作:
startup,shutdown
alter database open|mount
alter database backup controlfile
alter tablespace begin/end backup
recover database
alter database archivelog,restricted session
create database
recover database until
二、os認證和口令檔案認證
1、os認證和口令檔案認證其實質是對oracle資料庫採取何種管理方式,是本地管理還是透過一臺管理伺服器統一管理。
本地管理採用的就是os認證方式,統一管理採用的就是口令檔案認證方式
2、兩種認證的實現
oracle資料庫透過sqlnet.ora檔案中的引數SQLNET.AUTHENTICATION_SERVICES,PFILE(或SPFILE)檔案中的引數REMOTE_LOGIN_PASSWORDFILE和口令檔案PWDsid.ora三者協同作用實現身份認證。
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登入
1)SQLNET.AUTHENTICATION_SERVICES=(NTS)同時REMOTE_LOGIN_PASSWORDFILE=(NONE),此時為作業系統認證方式。
當以oracle_dba組下的使用者登入進入本地windows2000後進行下邊的操作:
sqlplus /nolog
sql>conn /as sysdba
或
sqlplus /nolog
sql>conn 任意使用者名稱/密碼 as sysdba
均可以sysdba身份登入成功,進行資料庫方面的操作
當以遠端進行登入時,執行
sqlplus /nolog
sql>conn /as sysdba
或
sqlplus /nolog
sql>conn sys/密碼 as sysdba
均顯示
“ERROR:
ORA-01031: insufficient privileges
”
也就是不允許以sysdba身份遠端登入系統,這也是os認證之所以也稱為本地認證方式的原因
2)SQLNET.AUTHENTICATION_SERVICES=(NONE)同時REMOTE_LOGIN_PASSWORDFILE=(EXCLUSIVE)或(SHARED),配合口令檔案
PWDsid.ora,此時為口令檔案認證方式
當在本地以oracle_dba組下的使用者登入進入windows2000後進行下邊的操作:
sqlplus /nolog
sql>conn /as sysdba
顯示
“ERROR:
ORA-01031: insufficient privileges
”
實質上是要求提供擁有sysdba身份的使用者名稱和密碼
在本地或遠端進行下邊的操作
sqlplus "sys/密碼@服務名 as sysdba"
可進入系統
也就是說口令檔案認證方式允許使用者從本地或遠端以sysdba身份登入,但必須提供口令字
3)SQLNET.AUTHENTICATION_SERVICES=(NTS)同時REMOTE_LOGIN_PASSWORDFILE=(EXCLUSIVE)或(SHARED),配合口令檔案PWDsid.ora,此時作業系統認證和口令檔案認證同時起作用
當在本地以oracle_dba組下的使用者登入進入windows2000後進行下邊的操作:
sqlplus /nolog
sql>conn /as sysdba
可進入系統
當在遠端執行
sqlplus "sys/密碼@服務名 as sysdba"
同樣可正常登入到資料庫系統上
上邊的引數配置容易令人迷惑、混淆,造成假象。我推測網上有些朋友所以對身份認證產生費解可能就是因為這麼
配置引數的!
三、其他
從前邊的討論可以知道,我們能夠對sys以外的使用者賦予sysdba身份,具體方法就是
SQLNET.AUTHENTICATION_SERVICES=(NONE)
REMOTE_LOGIN_PASSWORDFILE=(EXCLUSIVE)
口令檔案PWDsid.ora
SQL>grant sysdba to 使用者名稱
這樣,其他具有sysdba身份的使用者就加入到PWDsid.ora中,並可以被PWDsid.ora識別,我們可以用這個被賦予sysdba身份的使用者登入並進行類似sys使用者下所能執行的操作。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8570952/viewspace-203934/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle OS 認證, 口令檔案Oracle
- os認證和口令檔案!
- 關於os認證和口令檔案認證
- Oracle OS認證與口令檔案認證詳解Oracle
- 關於os認證和口令檔案認證(轉)
- Oracle中兩種認證方式:OS認證與口令檔案認證Oracle
- os認證、口令檔案認證及兩個引數【轉】
- os認證以及口令檔案的(引用warehouse的)
- 【登陸認證】oracle的作業系統認證和口令檔案認證方式(轉載)Oracle作業系統
- Oracle OS認證、口令檔案、密碼丟失處理Oracle密碼
- ASM認證與口令檔案ASM
- OS認證以及口令檔案的一點總結(轉)
- Oracle中的鑑權口令認證Oracle
- Oracle基礎結構之OS驗證和口令檔案驗證Oracle
- 作業系統認證與ORACLE密碼檔案認證方式作業系統Oracle密碼
- 【ORACLE】oracle 使用者(sysdba)遠端登入和口令認證Oracle
- 關於ORACLE作業系統認證和ORAPWD密碼檔案認證SYSDBA許可權Oracle作業系統密碼
- 重新認識口令檔案
- 淺談oracle 使用者(sysdba)遠端登入和口令認證Oracle
- Passport OAuth 認證 解析PassportOAuth
- Oracle 認證網Oracle
- Basic認證和Bearer Token認證的區別
- 今天安裝的資料庫出現作業系統認證可以透過,口令檔案認證不能透過的情況.資料庫作業系統
- Solon Auth 認證框架使用演示(更簡單的認證框架)框架
- oracle的認證機制Oracle
- 【認證與授權】Spring Security系列之認證流程解析Spring
- Oracle 認證下載Oracle
- Oracle OCM 認證指南Oracle
- oracle account 外部認證Oracle
- 1.6.5. 使用密碼檔案認證密碼
- 專案管理認證的行情專案管理
- HTTP認證之基本認證——Basic(一)HTTP
- HTTP認證之基本認證——Basic(二)HTTP
- Oracle 認證大師(OCM)Oracle
- oracle登陸認證方式Oracle
- Oracle認證常識(轉)Oracle
- 建立遷移檔案 auth 認證表 users
- .NET Core中的認證管理解析