新聞中心
以下的文章主要是淺談Oracle數(shù)據(jù)庫(kù)的外部身份認(rèn)證實(shí)際研究,我在一個(gè)信譽(yù)度很好的網(wǎng)站,找到了一個(gè)關(guān)于淺談Oracle數(shù)據(jù)庫(kù)外部身份認(rèn)證的一些實(shí)用性很強(qiáng)的相關(guān)資料,拿出來(lái)供大家分享。

騰沖網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)從2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
一、服務(wù)器上使用操作系統(tǒng)驗(yàn)證
1.配置SQLNET.ORA文件
參數(shù)NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)表明解析客戶端連接時(shí)所用的主機(jī)字符串的方式。TNSNAMES表示采用TNSNAMES.ORA文件來(lái)解析;ONAMES表示Oracle使用自己的名稱服務(wù)器(Oracle Name Server)來(lái)解析,目前Oracle建議使用輕量目錄訪問(wèn)協(xié)議LDAP來(lái)取代ONAMES; HOSTNAME表示使用host文件,DNS,NIS等來(lái)解析;
參數(shù)SQLNET.AUTHENTICATION_SERVICES= (NONE,NTS)表明用戶連接Oracle服務(wù)器時(shí)使用哪種驗(yàn)證方式NONE表示Oracle數(shù)據(jù)庫(kù)身份驗(yàn)證,NTS表示操作系統(tǒng)身份驗(yàn)證,兩種方式可以并用。
2.建立相應(yīng)的操作系統(tǒng)組及用戶加入該組
ORA_DBA組中的域用戶和本地用戶不需要Oracle用戶名和密碼就可以登錄Oracle而且該組的用戶登錄Oracle數(shù)據(jù)庫(kù)后都具有SYSDBA權(quán)限(多個(gè)實(shí)例時(shí),可以建立類似這樣的組ORA_SID_DBA,其中SID指實(shí)例名)同理:ORA_OPER組中的成員具有SYSOPER角色的權(quán)限。
3.登錄方式
C:>sqlplus “/ as sysdba” 或者C:>sqlplus nolog,然后SQL>connect / as sysdba
4.init.ora中的Remote_Login_Passwordfile對(duì)身份驗(yàn)證的影響。
三個(gè)可選值:
NONE:
默認(rèn)值,指示Oracle系統(tǒng)不使用密碼文件,通過(guò)操作系統(tǒng)進(jìn)行身份驗(yàn)證的特權(quán)用戶擁有SYSORA和SYSOPER權(quán)限.
EXCLUSIVE:
1).表示只有一個(gè)數(shù)據(jù)庫(kù)實(shí)例可以使用密碼文件;
2).允許將SYSORA和SYSOPER權(quán)限賦值給SYS以外的其它用戶。
SHARED:
1).表示可以有多個(gè)數(shù)據(jù)庫(kù)實(shí)例可以使用密碼文件;
2).不允許將SYSORA和SYSOPER權(quán)限賦值給SYS以外的其它用戶。
所以,如果要以操作系統(tǒng)身份登錄,Remote_Login_Passwordfile應(yīng)該設(shè)置為NONE
5.當(dāng)?shù)卿浻脩舨皇荗RA_DBA組和ORA_OPER組成員時(shí),登錄Oracle數(shù)據(jù)庫(kù)需要在Oracle中創(chuàng)建當(dāng)前操作系統(tǒng)用戶相同的用戶名,如果當(dāng)前用戶是域用戶,則名稱為:domainnameyourname,如果是本地計(jì)算機(jī)用戶,則名稱為:computernameyourname
創(chuàng)建方法:
- create "domainnameyourname" identified externally;
grant connect to "domainnameyourname";
Windows操作系統(tǒng),修改注冊(cè)表HKEY_LOCAL_MACHINESOFTWAREORACLEHOME0下面添加AUTH_PREFIX_DOMAIN,值設(shè)為FALSE,在創(chuàng)建Oracle用戶時(shí)可以忽略掉域名。這種方式下,init.ora中有一個(gè)參數(shù)將影響數(shù)據(jù)庫(kù)如何匹配一個(gè)windows用戶和Oracle用戶os_authent_prefix = ""缺省為空,Oracle8i以前,無(wú)該參數(shù),而使用OPS$作為用戶名前綴.(Oracle用戶名***長(zhǎng)度限制為30個(gè)字符)。
二、遠(yuǎn)程客戶端使用操作系統(tǒng)驗(yàn)證
首先需要在init.ora文件中設(shè)置如下參數(shù):REMOTE_OS_AUTHENT=TRUE。Oracle不推薦在遠(yuǎn)程客戶端上使用操作系統(tǒng)驗(yàn)證,因?yàn)榭蛻舳蓑?yàn)證時(shí)不是通過(guò)服務(wù)器上的操作系統(tǒng)用戶來(lái)驗(yàn)證,而是使用客戶端自己怕操作系統(tǒng)來(lái)進(jìn)行windows驗(yàn)證,這樣,客戶端可以采用建立對(duì)應(yīng)的windows機(jī)器名和用戶名的方式來(lái)欺騙Oracle的操作系統(tǒng)驗(yàn)證。
例如:創(chuàng)建了如下Oracle用戶
- create "zlzyk" identified externally; grant connect to "zlzyk";
如果有一臺(tái)名為ZL的機(jī)器,創(chuàng)建了一個(gè)名為zyk的用戶,并以此登錄連接Oracle服務(wù)器(連接時(shí)使用@OracleSTR),無(wú)需用戶名和密碼造成此問(wèn)題的原因是,Oracle使用客戶端操作系統(tǒng)進(jìn)行驗(yàn)證,它無(wú)法區(qū)別zl是域名還是機(jī)器名。
Oracle數(shù)據(jù)庫(kù)服務(wù)器上的windows身份認(rèn)證很容易實(shí)施,并且使已登錄的用戶訪問(wèn)Oracle數(shù)據(jù)庫(kù)很方便但是,這種驗(yàn)證模型并不適合遠(yuǎn)程客戶端,因?yàn)榘踩[患太大。
三、Oracle 9i對(duì)操作系統(tǒng)身份認(rèn)證支持的增強(qiáng)
Oracle 9i可以與活動(dòng)目錄集成,通過(guò)Oracle Enterprise Security Manager 管理用戶權(quán)限Enterprise user authentication做為一種新的外部集中認(rèn)證模式(也叫 global user authentication,Oracle 9i以前的External user authentication僅僅采用了客戶端操作系統(tǒng)本地認(rèn)證)。
Oracle9i運(yùn)行在一個(gè)win2000及以上的域中,注冊(cè)表HKEY_LOCAL_MACHINESOFTWAREORACLEHOMEID,參數(shù)OSAUTH_X509_NAME設(shè)置為true(默認(rèn)為false,如果該參數(shù)不存在,則新增為REG_EXPAND_SZ類型)。注意:Windows NT 4.0 domain 不支持這種方式。
網(wǎng)頁(yè)名稱:Oracle數(shù)據(jù)庫(kù)的外部身份認(rèn)證實(shí)際研究
標(biāo)題來(lái)源:http://www.fisionsoft.com.cn/article/dhpeigg.html


咨詢
建站咨詢
