關於os認證和口令檔案認證(轉)
關於os認證和口令檔案認證的簡要解析
前言
發現有很多人提問資料庫身份認證方面的問題,基此就oracle的身份認證做個簡要解析,希望這篇文件對遇到類似問題的朋友有所裨益。
文中錯誤之處請大家指正,不足之處請大家補充!
環境
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使用者下所能執行的操作
NONE
Oracle ignores any password file. Therefore, privileged users must be authenticated by the operating system.
SHARED
More than one database can use a password file. However, the only user recognized by the password file is SYS.
EXCLUSIVE
The password file can be used by only one database and the password file can contain names other than SYS
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/756652/viewspace-242122/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於HttpClient繞過SSL認證以及NTLM認證HTTPclient
- 關於shiro安全框架和shiro的認證流程框架
- Basic認證和Bearer Token認證的區別
- 「Adobe國際認證」關於 Adobe Photoshop 轉換背景和 Photoshop 圖層
- 1.6.5. 使用密碼檔案認證密碼
- 【認證與授權】2、基於session的認證方式Session
- 關於SSL證書雙向認證該怎麼操作
- Kubernetes客戶端認證——基於CA證書的雙向認證方式客戶端
- Kubernetes客戶端認證(二)—— 基於ServiceAccount的JWTToken認證客戶端JWT
- 建立遷移檔案 auth 認證表 users
- 認證授權方案之JwtBearer認證JWT
- HTTP認證之基本認證——Basic(一)HTTP
- HTTP認證之基本認證——Basic(二)HTTP
- HTTP認證之摘要認證——Digest(一)HTTP
- drf-路由和認證路由
- WHQL認證2019年3月 認證流程
- 無線上網認證之Portal認證
- 增強版實名認證介面-Java身份證實名認證介面程式碼-身份認證Java
- Passport 認證Passport
- 本地認證
- CB認證
- 專案管理認證的行情專案管理
- 細說API - 認證、授權和憑證API
- 「Adobe國際認證」關於Adobe Photoshop,建立和修改畫筆教程?
- Java身份證實名認證介面解鎖認證新速度Java
- adobe認證證書含金量
- 使用OpenSSH證書認證
- adobe photoshop 認證證書
- 「Adobe國際認證」關於 Photoshop 圖層詳解
- [20230306]os認證連線資料庫問題.txt資料庫
- shiro授權和認證(四)
- 授權(Authorization)和認證(Authentication)
- wifi認證的相關知識WiFi
- aws認證好過嗎?aws關鍵有什麼驗證新專案
- JWT登入認證-專案BotBattleJWTBAT
- C++身份證二要素實名認證api、實名認證介面C++API
- Http基本認證HTTP
- AKA認證初探