關於ORACLE作業系統認證和ORAPWD密碼檔案認證SYSDBA許可權
首先注意如下文件說明:
Operating system authentication takes precedence over password file authentication. If you meet the requirements for operating system authentication, then even if you use a
password file, you will be authenticated by operating system authentication.
On most operating systems, authentication for database administrators involves placing the operating system username of the
database administrator in a special group, generically referred to as OSDBA. Users in that group are granted SYSDBA privileges. A similar group, OSOPER, is used to
grant SYSOPERprivileges to users.
Operating system authentication takes precedence over password file authentication. Specifically, if you are a member of the OSDBA or OSOPER group for the operating system, and you connect as SYSDBA or SYSOPER,you will be connected with associated administrative privileges regardless of the username/passwordthat you specify.If you are not in the OSDBA or OSOPER groups, and you are not in the password file, then attempting to connect as SYSDBA or as SYSOPER fails
其中有一個重要的檔案ORAPWD檔案,文件說明如果使用者屬於OSDBA,典型我們建立ORACLE使用者的時候一般
都會將其設定為DBA組,這個時候即使沒有ORAPWD檔案,實際上ORACLE使用者也能夠登陸到資料庫,因為預設
的OSDBA就賦予了SYSDBA許可權,而如果一個使用者不屬於OSDBA(DBA組)的話那麼可以使用我們的密碼檔案
ORAPWD檔案進行驗證,典型比如遠端認證,或者一個不屬於DBA組的使用者。測試如下:
首先確定你的LISTENER有靜態認證。
Service "test" has 1 instance(s).
Instance "ora11g", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
然後關閉資料庫srvctl stop database -d ora11g,或者直接SHUTDOWN IMMEDIATE。
這個時候我們透過遠端使用ORAPWD認證
SQL> connect sys/gelc123@ora11g as sysdba
Connected to an idle instance.
如果我們刪除ORAOWD檔案如何?
[oracle@tasm dbs]$ mv orapwora11g orapwora11gbak
再次連線
SQL> connect sys/gelc123@ora11g as sysdba
ERROR:
ORA-01031: insufficient privileges
Warning: You are no longer connected to ORACLE.
同理我們建立一個非DBA組使用者
useradd lll
su - lll
連線
[lll@tasm ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Tue Apr 15 09:07:44 2014
Copyright (c) 1982, 2011, Oracle. All rights reserved.
ERROR:
ORA-01031: insufficient privileges
Enter user-name:
顯然此使用者不屬於DBA組不能使用作業系統認證,如果我們嘗試使用ORAPWD檔案認證如何?
[lll@tasm ~]$ sqlplus sys/gelc123 as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Tue Apr 15 09:10:43 2014
Copyright (c) 1982, 2011, Oracle. All rights reserved.
ERROR:
ORA-01031: insufficient privileges
Enter user-name:
同樣不行,因為我們剛剛MV了ORAPWD檔案,如果我們恢復如何?
[root@tasm ~]# su - lll
[lll@tasm ~]$ sqlplus sys/gelc123 as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Tue Apr 15 09:10:07 2014
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to an idle instance.
SQL> exit
可見可以連線,這個使用者雖然不屬於DBA組但是ORAPWD是可以認證的。
最後如果建立一個DBA使用者當然是可以連線的,因為他屬於DBA組自然就有SYSDBA許可權。
[kkk@tasm ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Tue Apr 15 09:13:11 2014
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to an idle instance.
SQL>
所以總結一下:
1、作業系統認證透過作業系統組的方式實現。
2、如果沒有屬於DBA組,可以使用ORAPWD檔案進行認證。
3、如果一個使用者在ORAPWD檔案中和DBA組,那麼作業系統認證優先。
4、注意remote_login_passwordfile的設定 見http://blog.itpub.net/7728585/viewspace-1262106/。
5、任何以AS SYSDBA許可權登陸的使用者均為SYSDBA許可權使用者
6、如果使用者不在DBA組和ORAPWD檔案中AS SYSDBA登陸將會報錯。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7728585/viewspace-1261684/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 作業系統認證與ORACLE密碼檔案認證方式作業系統Oracle密碼
- 【登陸認證】oracle的作業系統認證和口令檔案認證方式(轉載)Oracle作業系統
- 關於os認證和口令檔案認證
- 資料庫管理員許可權認證&&密碼檔案的建立和管理資料庫密碼
- Oracle 作業系統認證Oracle作業系統
- Oracle作業系統認證Oracle作業系統
- 關於os認證和口令檔案認證(轉)
- Hadoop 許可權認證Hadoop
- spring security許可權認證Spring
- GoFrame 框架使用 casbin 許可權認證GoFrame框架
- 1.6.5. 使用密碼檔案認證密碼
- Hyperf 完整專案-1-jwt 許可權認證JWT
- oracle os認證和口令檔案認證的簡要解析Oracle
- 認證/授權與許可權的問題
- 5行程式碼搞定基於Auth的許可權認證行程
- 不同作業系統上遮蔽oracle的作業系統認證方式作業系統Oracle
- 【Mongodb】使用者和認證許可權總結MongoDB
- 【Mongodb】使用者和認證 許可權總結MongoDB
- Oracle中兩種認證方式:OS認證與口令檔案認證Oracle
- 2 Day DBA-管理Oracle例項-關於管理帳戶和許可權-SYSDBA和SYSOPER系統許可權Oracle
- Oracle OS認證與口令檔案認證詳解Oracle
- Oracle OS認證、口令檔案、密碼丟失處理Oracle密碼
- DRF比Django的認證和許可權高在哪裡Django
- SQLNET.AUTHENTICATION_SERVICES和作業系統認證SQL作業系統
- 關於ORACLE登陸認證Oracle
- 關於Linux作業系統下檔案特殊許可權的解釋Linux作業系統
- 1.6.4.2. 準備作業系統認證作業系統
- 在windows透過作業系統認證登入ORACLEWindows作業系統Oracle
- 在windows通過作業系統認證登入ORACLEWindows作業系統Oracle
- .NET 開源許可權認證專案 MiniAuth上線
- Oracle OS 認證, 口令檔案Oracle
- Django REST framework中認證和許可權的使用方法DjangoRESTFramework
- 許可權引擎,可以怎麼和認證框架結合不?框架
- RHCE7認證學習筆記21——使用ACLs控制檔案許可權筆記
- os認證和口令檔案!
- redis配置認證密碼Redis密碼
- 【認證與授權】2、基於session的認證方式Session
- 禁用作業系統認證作業系統