Oracle登錄認證


oracle 登錄認證

1 簡介

Oracle登錄認證有兩種方式,基於操作系統的登錄認證,基於oracle的密碼驗證。

ORACLE數據庫通過sqlnet.ora文件中的參數sqlnet.authentication_services,來控制用戶是通過操作系統認證還是通過密碼認證進行登錄。

而對於擁有sysdba角色的用戶,還有一個密碼文件可以輔助密碼驗證。

sqlnet.authentication_services、參數remote_login_passwordfile和密碼文件pwd<sid>.ora三者協同作用實現身份認證.

2 authentication_services

Windows環境與Linux/Unix環境有區別:

Windows
  • SQLNET.AUTHENTICATION_SERVICES= (NTS)是基於操作系統驗證;
  • SQLNET.AUTHENTICATION_SERVICES= (NONE)是基於Oracle驗證;
  • SQLNET.AUTHENTICATION_SERVICES= (NONE,NTS)是二者共存。
  • SQLNET.AUTHENTICATION_SERVICES必須設置為NTS或者ALL才能使用OS認證;不設置或者設置為其他任何值都不能使用OS認證。
Linux/Unix
在linux下,在SQLNET.AUTHENTICATION_SERVICES的值設置為
  • ALL, 為OS驗證;
  • NONE或者NTS,都是基於oracle密碼驗證的。
  • 不設置時,啟用OS認證和oracle密碼認證。

2.1 不同登錄方式的寫法

區分以下幾種登錄方式的區別
  • conn / as sysdba 本機登陸,使用操作系統認證,有無監聽都可以
  • conn sys/password as sysdba 本機登陸,使用密碼文件認證,有無監聽都可以
  • conn sys/password@dbanote as sysdba 兼容OS認證與密碼認證。使用密碼文件認證,必須有監聽,必須有tnsnames.ora,remote_login_passwordfile必須是EXCLUSIVE

3 sysdba角色登錄認證

 

3.1 無密本地登錄

sqlplus / as sysdba
或者
sqlplus / nolog
conn / as sysdba

以上寫法都是無密本地登錄。

3.2 密碼文件

密碼文件是保存擁有sysdba/sysoper等role 的用戶和密碼信息的文件 。當擁有相關role的用戶,想要登錄 數據庫實例時,如果authentication_services 要求進行密碼驗證,那么這些用戶的密碼會通過密碼文件加以校驗。

創建密碼文件的語法如下:

orapwd file=<密碼文件> password=<sys用戶密碼> entries=10 force=y

說明:

  • file——密碼文件名(必要)。默認在$Oracle_Home/dbs目錄下
  • password——SYS 的密碼(必要)
  • entries——DBA和操作員的最大數目(可選)
  • force——是否重寫現有的文件(可選)
  • 創建密碼文件時,= 號兩邊是沒有空格的。

3.3 是否開啟密碼文件驗證

Oracle提供了一個參數: remote_login_password=NONE|EXCLUSIVE|SHARED .

  • NONE 高級管理員登錄時,不使用密碼文件驗證
  • EXCLUSIVE 高級管理員登錄時,使用密碼文件驗證,且只允許本實例使用該密碼文件。
  • shared 高級管理員登錄時,使用密碼文件驗證,且允許多個實例使用該密碼文件

3.4 限制sys登錄方式

 

3.4.1 不限制

不設置sqlnet.authentication_services,不設置 remote_login_password. 此時,不管是無密登錄 、密碼登錄還是遠程登錄都可以。

3.4.2 只允許本地密碼登錄

sqlnet.authentication_services=(ALL) 且 remote_login_password=exclusive 或者shared

3.4.3 只允許遠程登錄

sqlnet.authentication_services=(NTS) 且 remote_login_password=exclusive 或者shared

Author: halberd.lee

Created: 2019-08-31 Sat 20:42

Validate


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM