oracle 關於--密碼檔案
對於密碼檔案認證 還是os認證取決於remote_login_passwordfile 引數與SQLNET.AUTHENTICATION_SERVICES引數。
remote_login_passwordfile引數有三個值:預設為(exclusive)
none----不使用密碼檔案認證
exclusive---需要密碼檔案認證 自己獨佔使用
shared ---需要密碼檔案認證 不同例項dba使用者可以共享密碼檔案
還有一個引數,這個引數位於$ORACLE_HOME/network/admin/sqlnet.ora檔案中
引數是:SQLNET.AUTHENICATION_SERVICES
SQLNET.AUTHENTICATION_SERVICES也有三個值:
none---關閉OS認證,只能密碼檔案認證
all---linux、unix關閉本機密碼檔案認證,採用作業系統認證,遠端(異機)可以
nts---為windows密碼認證
密碼檔案的作用
密碼檔案是用來為對具有sysdba許可權與sysoper許可權使用者進行密碼認證的。
|
密碼檔案的預設位置
$ORACLE_HOME/dbs/orapw$ORACLE_SID
|
作業系統認證
我資料庫sys使用者的正確密碼為oracle111
SQL> conn sys/oracle111 as sysdba conn sys/oracle111 as sysdba Connected. SQL> conn sys/qwer as sysdba conn sys/ws qwer sysdba Connected. SQL> conn / as sysdba conn / as sysdba Connected. SQL> 可以看到,密碼正確不正確或者沒有使用者密碼也是一樣登入的,這就是作業系統認證 |
關閉作業系統認證
[oracle@dongyang admin]$ vi $ORACLE_HOME/network/admin/sqlnet.ora SQLNET.AUTHENTICATION_SERVICES=none
[oracle@dongyang admin]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Mar 21 15:21:57 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn sys/oracle111 as sysdba Connected. SQL> conn sys/qwer as sysdba ERROR: ORA-01017: invalid username/password; logon denied
Warning: You are no longer connected to ORACLE. SQL> conn / as sysdba ERROR: ORA-01031: insufficient privileges
SQL> [oracle@dongyang admin]$ sqlplus sys/oracle111@orcl as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Mar 21 15:34:48 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production With the Partitioning, OLAP and Data Mining options
SQL> [oracle@dongyang admin]$ sqlplus sys/qwer@orcl as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Mar 21 15:35:34 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
ERROR: ORA-01017: invalid username/password; logon denied
Enter user-name: 可以看到,關閉作業系統認證就需要使用密碼檔案認證,密碼錯誤就登入不了 |
將SQLNET.AUTHENTICATION_SERVICES引數值設定為all
[oracle@dongyang admin]$ sed 's/none/all/' -i $ORACLE_HOME/network/admin/sqlnet.ora [oracle@dongyang admin]$ cat $ORACLE_HOME/network/admin/sqlnet.ora SQLNET.AUTHENTICATION_SERVICES=all
[oracle@dongyang admin]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Mar 21 15:29:13 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn sys/oracle111 as sysdba Connected. SQL> conn sys/qwer as sysdba Connected. SQL> conn / as sysdba Connected. SQL> 但是使用連線字串就登入不了 [oracle@dongyang admin]$ sqlplus sys/oracle111@orcl as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Mar 21 15:31:57 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
ERROR: ORA-12641: Authentication service failed to initialize
Enter user-name: 使用遠端連線(使用win的CMD) C:\>D:\app\oracle10g\sqlplus sys/oracle111@orclasm as sysdba SQL*Plus: Release 10.2.0.1.0 - Production on Fri Mar 21 15:34:48 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production With the Partitioning, OLAP and Data Mining options
SQL>
|
修改密碼檔案
所謂的DBA使用者就是有sysdba許可權或者sysoper許可權。
具有以上許可權的使用者的密碼都會以二進位制方式存放在密碼檔案中。
不推薦使用ORAPWD命令重建密碼檔案。(刪除密碼檔案在重建,使用者具有sysdba、sysoper許可權是登入不上的)
密碼檔案存放的位置 ongyang admin]$ ll $ORACLE_HOME/dbs/orapw$ORACLE_SID -rw-r----- 1 oracle oinstall 1536 Mar 20 10:34 /u01/app/oracle/product/10.2.0/db_1/dbs/orapwfengzi [oracle@dongyang admin]$ 檢視orapwd命令 [oracle@dongyang admin]$ orapwd
Usage: orapwd
file=
where file - name of password file (mand), password - password for SYS (mand), entries - maximum number of distinct DBA and –可以有多少sysdba,sysoper許可權使用者放到密碼檔案中 force - whether to overwrite existing file (opt), OPERs (opt), There are no spaces around the equal-to (=) character. [oracle@dongyang admin]$ 修改密碼為oracle [oracle@dongyang admin]$ cd $ORACLE_HOME/dbs [oracle@dongyang dbs]$ orapwd file=orapwfengzi password=oracle force=y [oracle@dongyang dbs]$
|
推薦修改密碼方式
[oracle@dongyang ~]$ sqlplus "/ as sysdba"
SQL*Plus: Release 10.2.0.1.0 - Production on Mon Mar 24 09:23:12 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production With the Partitioning, OLAP and Data Mining options
SQL>alter user sys identified by oracle; User altered. SQL> 這時候密碼檔案中的內容。 [oracle@dongyang dbs]$ strings orapwfengzi ]\[Z ORACLE Remote Password file INTERNAL AB27B53EDC5FEF41 8A8F025737A9097A [oracle@dongyang dbs]$ 在修改一次密碼檢視密碼檔案是否改變。 [oracle@dongyang ~]$ sqlplus "/ as sysdba"
SQL*Plus: Release 10.2.0.1.0 - Production on Mon Mar 24 09:23:12 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production With the Partitioning, OLAP and Data Mining options
SQL> alter user sys identified by oracle123;
User altered.
SQL> 再次檢視密碼檔案的值 [oracle@dongyang dbs]$ strings orapwfengzi ]\[Z ORACLE Remote Password file INTERNAL 87C5F4BF47942D0E 4CCF4A082AD3F312 [oracle@dongyang dbs]$ 根據這個特性,推薦使用alter user 修改使用者的密碼。 |
普通使用者具備sysdba的許可權
密碼檔案當前值 [oracle@dongyang dbs]$ strings orapwfengzi ]\[Z ORACLE Remote Password file INTERNAL 87C5F4BF47942D0E 4CCF4A082AD3F312 [oracle@dongyang dbs]$ 授予普通使用者sysdba許可權 SQL> grant sysdba to qiu;
Grant succeeded.
SQL> 再次檢視密碼檔案 [oracle@dongyang dbs]$ strings orapwfengzi ]\[Z ORACLE Remote Password file INTERNAL 87C5F4BF47942D0E 4CCF4A082AD3F312 41B03979723DCD31 [oracle@dongyang dbs]$ 使用密碼檔案認證登陸到資料庫 [oracle@dongyang ~]$ sqlplus qiu/oracle@orcl as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Mon Mar 24 09:51:02 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production With the Partitioning, OLAP and Data Mining options
SQL> SQL> show user USER is "SYS" (sysdba許可權的使用者登入到資料庫其實就是登陸的sys使用者) SQL> 當然密碼錯誤是登入不上的 [oracle@dongyang ~]$ sqlplus qiu/qwer@orcl as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Mon Mar 24 09:52:36 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
ERROR: ORA-01017: invalid username/password; logon denied
Enter user-name: |
給予sysoper許可權一樣是會記錄在密碼檔案中的
SQL> create user bj1 identified by bj1;
User created.
SQL> grant sysoper to bj1;
Grant succeeded.
SQL> 檢視密碼檔案 [oracle@dongyang dbs]$ strings orapwfengzi ]\[Z ORACLE Remote Password file INTERNAL 87C5F4BF47942D0E 4CCF4A082AD3F312 41B03979723DCD31 533C4A5F0CA43E68 (發現又多了一條記錄,這條記錄對應的就是bj1的密碼) [oracle@dongyang dbs]$ |
Sysdba許可權與sysoper許可權的區別
Sysdba與sysoper都是系統許可權
Sysdba: 預設 schema 為sys 可以啟動關閉資料庫,可以啟動到open、mount。 可以進行備份,改變字符集 可以建立資料庫、刪除資料庫 可以建立spfile 可以將資料庫改為歸檔 可以進行恢復 可以進行限制會話操作 Sysoper: 預設schema 為public 也可以進行資料庫的啟動關閉,可以啟動到open、mount。 也可以進行備份,但是不能改變字符集 不能進行建立資料庫、刪除資料庫 也可以建立spfile 也可以將資料庫改為歸檔 也可以進行恢復,但是僅僅只能進行完全恢復,不能使用不完全恢復 也可以限制會話操作
預設schema SQL> conn / as sysdba Connected. SQL> show user USER is "SYS" SQL> conn /as sysoper Connected. SQL> show user USER is "PUBLIC" SQL>
|
檢視那些使用者具有dba相關許可權
這個檢視記錄具有sysdba與sysoper許可權的使用者 SQL> select * from v$pwfile_users;
USERNAME SYSDB SYSOP ------------------------------ ----- ----- SYS TRUE TRUE QIU TRUE FALSE BJ1 FALSE TRUE
SQL> 可以看到,sys使用者預設sysdba與sysoper許可權都是具備的。 我只授予了qiu使用者sysdba許可權,所以只能sysdba許可權登入資料庫 同樣的只授予bj1使用者sysoper許可權,所以只能sysoper許可權登入資料庫 |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29532781/viewspace-1130071/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 密碼檔案Oracle密碼
- Oracle:ASM & 密碼檔案OracleASM密碼
- Oracle 12c的DG自動同步密碼檔案--ASM 新特性:共享密碼檔案Oracle密碼ASM
- 關於密碼密碼
- Oracle優化案例-建立不成功的密碼檔案(二十七)Oracle優化密碼
- 重建共享(db或asm)密碼檔案 in Oracle 19c RAC-20220209ASM密碼Oracle
- 【密碼檔案】Oracle 18c orapwd 命令 OPW-00029: Password complexity failed密碼OracleAI
- 管理(002):建立密碼檔案示例密碼
- 管理(005):密碼檔案設定密碼
- 關於區塊鏈密碼學區塊鏈密碼學
- PDF檔案有限制密碼,該如何編輯檔案?密碼
- SpringBoot專案配置檔案中密碼的加密Spring Boot密碼加密
- 如何給PDF檔案設定密碼?密碼
- 1.6.5. 使用密碼檔案認證密碼
- 關於檔案的open方法
- 關於檔案上傳下載的編碼問題
- 1.7.7. 檢視密碼檔案成員密碼
- Linux基礎命令---htpasswd建立密碼檔案Linux密碼
- excelwin10版檔案密碼忘了怎麼辦_excelwin10版檔案密碼忘了如何開啟ExcelWin10密碼
- 關於Java使用MinIO檔案伺服器操作檔案Java伺服器
- 2.6.1 關於初始化檔案
- mysql關於ibdata檔案的理解MySql
- 1.7.8. 刪除資料庫密碼檔案資料庫密碼
- Linux基礎命令---檢查密碼檔案pwckLinux密碼
- sqlserver關於filestream檔案流、filetable檔案表的總結SQLServer
- Oracle 控制檔案Oracle
- 關於mysql忘記密碼的解決策略MySql密碼
- 關於WiFi密碼破解的一些心得WiFi密碼
- 區域網訪問共享檔案需要密碼怎麼辦?取消區域網共享檔案訪問密碼的方法密碼
- [20201104]關於稀疏檔案(sparse files).txt
- C#關於讀寫INI檔案C#
- 關於ubuntu修改hosts檔案的方法Ubuntu
- 關於Play框架的靜態檔案框架
- Android 關於 so 檔案的總結Android
- 關於C++的標頭檔案C++
- 關於node實現檔案上傳
- 12c複製 RAC ASM中的密碼檔案到檔案系統ASM密碼
- 關於登入(使用者名稱,密碼,驗證碼)密碼
- oracle 密碼詳解以及破解Oracle密碼