Oracle禁止connect / as sysdba方式登入

聽海★藍心夢發表於2011-09-21
我們都知道,conn / as sysdba直接登入資料庫,採用的是伺服器作業系統驗證登入方式,即常說的OS驗證登入方式。
下面以常見的windows作業系統來說明看一下這個作業系統認證方式登入的原理。如果你的機器可以使用connect / as sysdba獲取sysdba的許可權,那麼下面的每一個過程你的機器上都會得到驗證,如果不能,按照下面的操作更改後,你也能以這種方式登入。

1:在命令列下敲入compmgmt.msc 進入計算機管理
2:選擇本地使用者和組—>組
3:看是不是有一個組的名字叫做ORA_DBA
4:雙擊改組可以看到裡面是不是有administrator使用者
5:想一想你是不是以administrator使用者登入的呢?
6:再進入Oracle安裝目錄(即$ORACLE_HOME 一般是D:\oracle\ora92\network\admin 找到sqlnet.ora檔案看看裡面的是不是有SQLNET.AUTHENTICATION_SERVICES= (NTS)
如果這些都對的話,你就能已作業系統認證的方式(connect / as sysdba)來登入Oracle 17jquery.com
接下來的問題是,如果你的資料很重要,出於安全考慮,希望禁止這種作業系統認證的方式。那麼該怎麼做呢?
找到在剛才的第6步驟中的sqlnet.ora檔案,將SQLNET.AUTHENTICATION_SERVICES= (NTS)改為SQLNET.AUTHENTICATION_SERVICES=none即可。你再試一下看看會不會得到到如下結果:
ERROR:
ORA-01031: insufficient privileges
警告: 您不再連線到 ORACLE。
 
但是,我認為這並不是解決問題的最好辦法,因為只要我知道作業系統oracle使用者或administrator使用者的密碼,我就可以直接修改sqlnet.ora檔案,然後時作業系統認證重新生效,這樣並不能完全杜絕類似的事情發生。
最好的辦法就是嚴格控制dba使用者組的使用者密碼,如果這些使用者的密碼一旦洩露,那麼你的sqlnet.ora檔案也不再安全,那麼你的資料庫登入密碼驗證方式也將被隨時修改。

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

相關文章