国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

淺談Oracle外部身份認證研究

2024-08-29 13:31:51
字體:
來源:轉載
供稿:網友
一、服務器上使用操作系統驗證

    1.配置sqlnet.ora文件

    參數names.directory_path= (tnsnames, onames, hostname)表明解析客戶端連接時所用的主機字符串的方式
    tnsnames表示采用tnsnames.ora文件來解析;
    onames表示oracle使用自己的名稱服務器(oracle name server)來解析,目前oracle建議使用輕量目錄訪問協議ldap來取代onames;
    hostname表示使用host文件,dns,nis等來解析;

    參數sqlnet.authentication_services= (none,nts)表明用戶連接oracle服務器時使用哪種驗證方式none表示oracle數據庫身份驗證,nts表示操作系統身份驗證,兩種方式可以并用。

    2.建立相應的操作系統組及用戶加入該組

    ora_dba組中的域用戶和本地用戶不需要oracle用戶名和密碼就可以登錄oracle而且該組的用戶登錄數據庫后都具有sysdba權限(多個實例時,可以建立類似這樣的組ora_sid_dba,其中sid指實例名)同理:ora_oper組中的成員具有sysoper角色的權限。

    3.登錄方式

    c:/>sqlplus “/ as sysdba”
    或者c:/>sqlplus nolog,然后sql>connect / as sysdba

    4.init.ora中的remote_login_passwordfile對身份驗證的影響

    三個可選值:

    none:默認值,指示oracle系統不使用密碼文件,通過操作系統進行身份驗證的特權用戶擁有sysora和sysoper權限exclusive:
    1.表示只有一個數據庫實例可以使用密碼文件
    2.允許將sysora和sysoper權限賦值給sys以外的其它用戶
    shared:
    1.表示可以有多個數據庫實例可以使用密碼文件
    2.不允許將sysora和sysoper權限賦值給sys以外的其它用戶
    所以,如果要以操作系統身份登錄,remote_login_passwordfile應該設置為none

    5.當登錄用戶不是ora_dba組和ora_oper組成員時,登錄數據庫需要在oracle中創建當前操作系統用戶相同的用戶名,如果當前用戶是域用戶,則名稱為:domainname/yourname,如果是本地計算機用戶,則名稱為:computername/yourname

    創建方法:

    create "domainname/yourname" identified externally;
    grant connect to "domainname/yourname";

    windows操作系統,修改注冊表hkey_local_machine/software/oracle/home0下面添加auth_prefix_domain,值設為false,在創建oracle用戶時可以忽略掉域名

    這種方式下,init.ora中有一個參數將影響數據庫如何匹配一個windows用戶和oracle用戶os_authent_prefix = ""
    缺省為空,oracle8i以前,無該參數,而使用ops$作為用戶名前綴.(oracle用戶名最大長度限制為30個字符)

    二、遠程客戶端使用操作系統驗證

    首先需要在init.ora文件中設置如下參數:remote_os_authent=true

    oracle不推薦在遠程客戶端上使用操作系統驗證,因為客戶端驗證時不是通過服務器上的操作系統用戶來驗證,而是使用客戶端自己怕操作系統來進行windows驗證,這樣,客戶端可以采用建立對應的windows機器名和用戶名的方式來欺騙oracle的操作系統驗證.
    例如:創建了如下oracle用戶

    create "zl/zyk" identified externally;
    grant connect to "zl/zyk";

    如果有一臺名為zl的機器,創建了一個名為zyk的用戶,并以此登錄連接oracle服務器(連接時使用/@oraclestr),無需用戶名和密碼造成此問題的原因是,oracle使用客戶端操作系統進行驗證,它無法區別zl是域名還是機器名.

    oracle數據庫服務器上的windows身份認證很容易實施,并且使已登錄的用戶訪問數據庫很方便但是,這種驗證模型并不適合遠程客戶端,因為安全隱患太大。

    三、oracle 9i對操作系統身份認證支持的增強

    oracle 9i可以與活動目錄集成,通過oracle enterprise security manager 管理用戶權限enterprise user authentication做為一種新的外部集中認證模式(也叫 global user authentication,oracle 9i以前的external user authentication僅僅采用了客戶端操作系統本地認證)

    oracle9i運行在一個win2000及以上的域中,注冊表hkey_local_machine/software/oracle/homeid,參數osauth_x509_name設置為true(默認為false,如果該參數不存在,則新增為reg_expand_sz類型)

    注意:windows nt 4.0 domain 不支持這種方式

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 晋宁县| 永吉县| 闸北区| 云林县| 岑溪市| 贡觉县| 原阳县| 田东县| 沂水县| 福海县| 绥棱县| 鄂温| 克山县| 罗定市| 轮台县| 斗六市| 方城县| 德州市| 博野县| 新竹市| 中宁县| 汕尾市| 泰兴市| 台南市| 锡林郭勒盟| 建宁县| 吐鲁番市| 孝昌县| 房产| 黔东| 陵水| 牙克石市| 浦北县| 巴塘县| 大理市| 比如县| 南通市| 惠州市| 尼木县| 仪陇县| 金沙县|