oracle操作系統(tǒng)認(rèn)證和口令文件認(rèn)證
oracle操作系統(tǒng)認(rèn)證和口令文件認(rèn)證是oracle的兩種方式,下面就為您介紹oracle操作系統(tǒng)認(rèn)證和口令文件認(rèn)證適用的情況,供您參考。
先總結(jié),后細(xì)解:
SQLNET.AUTHENTICATION_SERVICES指$ORACLE_HOME/network/admin/sqlnet.ora配置文件中的參數(shù);
REMOTE_LOGIN_PASSWORDFILE指Oracle的初始化參數(shù),可以在sqlplus里通過show parameter命令查看。
SQLNET.AUTHENTICATION_SERVICES=(NTS)
同時(shí)REMOTE_LOGIN_PASSWORDFILE=(’NONE’)
這為OS認(rèn)證
SQLNET.AUTHENTICATION_SERVICES=(NONE)(或者注釋掉了)
同時(shí)REMOTE_LOGIN_PASSWORDFILE=(’EXCLUSIVE’)或(’SHARED’)
這為口令文件認(rèn)證
SQLNET.AUTHENTICATION_SERVICES=(NTS)
同時(shí)REMOTE_LOGIN_PASSWORDFILE=(’EXCLUSIVE’)或(’SHARED’)
OS和口令都生效
細(xì)解:
1、管理員的權(quán)限
SYSDBA: 默認(rèn)schema 為SYS
SYSOPER: 默認(rèn)schema 為 PUBLIC
這兩種權(quán)限允許用戶在數(shù)據(jù)庫沒有打開的時(shí)候就可以登陸數(shù)據(jù)庫,所以這種權(quán)限的控制權(quán)在數(shù)據(jù)庫之外。通常這種權(quán)限也可以被看做一種允許你對數(shù)據(jù)庫進(jìn)行某種操作的連接,比如CONNECT / AS SYSDBA
SQL> conn /as sysdba
Connected.
SQL> show user
USER is "SYS"
SQL> conn /as sysoper
Connected.
SQL> show user
USER is "PUBLIC"
SQL>
2、兩種管理員權(quán)限認(rèn)證方法
1) oracle操作系統(tǒng)認(rèn)證
--以下情況使用該方法:
管理遠(yuǎn)程數(shù)據(jù)庫時(shí),具有安全的網(wǎng)絡(luò)連接(secure connection)。
管理本地?cái)?shù)據(jù)庫時(shí),想使用OS認(rèn)證。
--操作步驟:
a.建立一個(gè)os系統(tǒng)用戶
b.將這個(gè)用戶加入到DBA或者OPER的OS組(注釋:在window下,這個(gè)默認(rèn)的組名為ORA_DBA/ORA_OPER);
c.設(shè)置參數(shù) REMOTE_LOGIN_PASSWORDFILE=NONE
d.編輯sqlnet.ora文件,增加 SQLNET.AUTHENTICATION_SERVICES= (NTS)
e.CONNECT / AS SYSDBA
--關(guān)于OSDBA和OSOPER組
OSDBA對應(yīng): UNIX下為DBA; WINDOWS下為ORA_DBA
OSOPER對應(yīng):UNIX下為OPER;WINDOWS下為ORA_OPER
這些用戶組在安裝數(shù)據(jù)庫的時(shí)候手工或者自動創(chuàng)建,這些組的成員以 as sysdba/sysoper 連接數(shù)據(jù)庫后,自動授予sysdba/sysoper的管理權(quán)限。
2) 口令文件認(rèn)證
--以下情況使用該方法:
管理遠(yuǎn)程數(shù)據(jù)庫時(shí),沒有安全的網(wǎng)絡(luò)連接(secure connection),比如TCP/IP和DECnet協(xié)議。
管理本地?cái)?shù)據(jù)庫時(shí),不想使用OS認(rèn)證。
--操作步驟:
a.使用ORAPWD創(chuàng)建密碼文件(其中的password選項(xiàng)是為SYS用戶設(shè)置的)
orapwd file=<filename> password=<password> entries=<users>
b.設(shè)置參數(shù) remote_login_passwordfile=EXCLUSIVE
c.使用sys用戶登陸
d.在數(shù)據(jù)庫中創(chuàng)建用戶 create user study identified by study;
e.賦予其SYSDBA/SYSOPER權(quán)限
grant sysdba to study; 這樣就將用戶和密碼加入到密碼文件中。
grant sysoper to study;
f.查看密碼文件中的用戶: select * from v$pwfile_users;
如果沒有對應(yīng)的用戶信息,需要重啟DB,否則登陸時(shí)會提示無權(quán)限。
g.使用自己的密碼登陸: connect study/study as sysdba;
注意:OS認(rèn)證優(yōu)先于密碼文件認(rèn)證,只要OS用戶屬于OSDBA OR OROPER組,并且使用connect as sysdba / sysoper登錄,則可以忽略輸入的username/password。
3、關(guān)于參數(shù)remote_login_passwordfile
None: 使得oracle不使用密碼文件,只能使用OS認(rèn)證,不允許通過不安全網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程管理。
Exclusive: 可以使用***的密碼文件,但只限一個(gè)數(shù)據(jù)庫。密碼文件中可以包括除了sys用戶的其他用戶。
Shared: 可以在多個(gè)數(shù)據(jù)庫上使用共享的密碼文件。但是密碼文件中只能包含sys用戶。通常用于一個(gè)dba管理多個(gè)數(shù)據(jù)庫的時(shí)候。
4、V$PWFILE_USERS使用該視圖查看密碼文件中的member
SQL> select * from v$pwfile_users;
USERNAME SYSDB SYSOP
------------------------------ ----- -----
SYS TRUE TRUE
SQL>
5、非管理員級別用戶的OS認(rèn)證方法關(guān)鍵字:os_authent_prefix
create user donny identified externally;
conn
【編輯推薦】