• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            tqsheng

            go.....
            隨筆 - 366, 文章 - 18, 評(píng)論 - 101, 引用 - 0
            數(shù)據(jù)加載中……

            利用 LDAP 實(shí)現(xiàn) IBM Rational ClearCase 和 ClearQuest 集成開發(fā)環(huán)境下的賬號(hào)統(tǒng)一管理

            利用 LDAP 實(shí)現(xiàn) IBM Rational ClearCase 和 ClearQuest 集成開發(fā)環(huán)境下的賬號(hào)統(tǒng)一管理

             

            馬 玲, 軟件工程師, IBM
            易 傳佳, 軟件工程師, IBM

             

            簡(jiǎn)介: Rational ClearCase 和 DB2 都借助于操作系統(tǒng)的賬號(hào),Rational ClearQuest 則有自己的一套用戶管理系統(tǒng),在集成開發(fā)環(huán)境中,對(duì)于用戶和管理員來說,都比較復(fù)雜。本文實(shí)現(xiàn)用 Windows LDAP 集中管理和認(rèn)證 ClearCase 多個(gè)平臺(tái)的賬號(hào),以及 ClearQuest 和后臺(tái)使用的 DB2。這樣方便管理和維護(hù),對(duì)于開發(fā)和測(cè)試人員來多個(gè)用戶和密碼也合并為一個(gè)。

             

            發(fā)布日期: 2009 年 8 月 28 日
            級(jí)別: 初級(jí)
            訪問情況 : 1030 次瀏覽
            評(píng)論: 1 (查看 | 添加評(píng)論 - 登錄)

            平均分 4 星 共 4 個(gè)評(píng)分 平均分 (4個(gè)評(píng)分)
            為本文評(píng)分

             

            簡(jiǎn)介

            IBM Rational ClearCase(以下簡(jiǎn)稱 ClearCase)是業(yè)界非常優(yōu)秀的軟件版本控制工具和軟件資源配置管理工具;IBM Rational ClearQuest(以下簡(jiǎn)稱 ClearQuest )是用于軟件變更管理和缺陷跟蹤的工具。在實(shí)際的軟件產(chǎn)品開發(fā)過程中,兩者的結(jié)合使用,提供了真正用于加速軟件開發(fā)周期和流程的解決方案,會(huì)極大地提高開發(fā)效率,保證產(chǎn)品的質(zhì)量。

            隨著開發(fā)團(tuán)隊(duì)的擴(kuò)大,人員的變動(dòng),以及開發(fā)平臺(tái)的的多樣化(Windows、Linux、Unix……),賬號(hào)管理的問題日益突出。本文介紹怎樣合并 ClearCase 的域賬號(hào)和 ClearQuest 帳號(hào),實(shí)現(xiàn)用一套 MS LDAP 系統(tǒng)支持 ClearCase,ClearQuest,以及后臺(tái) DB2 的認(rèn)證。


            現(xiàn)有問題

            ClearCase 借助于操作系統(tǒng)的帳號(hào),并且 Windows 機(jī)器需要加入域才能使用,這樣 ClearCase Window 平臺(tái)使用 Windows AD 域來管理賬號(hào),Clearcase Linux 則使用操作系統(tǒng)的賬號(hào)。ClearQuest 有自己獨(dú)立的一套用戶管理系統(tǒng),用戶信息存儲(chǔ)在后臺(tái)的用戶數(shù)據(jù)庫中。ClearQuest 后臺(tái) DB2 的用戶認(rèn)證,也是由操作系統(tǒng)負(fù)責(zé)的。這樣在一個(gè) ClearCase 和 ClearQuest 集成的環(huán)境中,就需要管理三套用戶數(shù)據(jù)(域,操作系統(tǒng),ClearQuest 用戶)。

            對(duì)于一般的開發(fā)人員來說則至少要記住 ClearCase Windows 域,Linux/Unix 操作系統(tǒng)的 和 CQ 三套用戶名和密碼,出于安全考慮還需要定期的修改密碼,這對(duì)用戶來說也是一個(gè)很大的負(fù)擔(dān)。

            當(dāng)開發(fā)人員的帳號(hào)需要?jiǎng)?chuàng)建,權(quán)限更改,或者刪除時(shí),重復(fù)的用戶操作至少要在 ClearCase 和 ClearQuest 兩邊進(jìn)行。

            ClearCase 賬號(hào)管理的復(fù)雜性:如果訪問的 code 存儲(chǔ)在不同的ClearCase Vob 服務(wù)器上,就需要在多個(gè) Linux Clearcase Vob 服務(wù)器上對(duì)用戶進(jìn)行操作,同樣的操作還得在 ClearCase Linux/Unix 客戶端執(zhí)行。

            ClearQuest 賬號(hào)管理復(fù)雜性:對(duì)于 ClearQuest 管理員來說,不同的項(xiàng)目,可能使用完全獨(dú)立的 ClearQuest 模式庫,一個(gè)模式庫,對(duì)應(yīng)一套用戶系統(tǒng),這樣 ClearQuest 的賬號(hào)管理本身也不可避免的有重復(fù)。


            本文的目的

            Windows 活動(dòng)目錄域服務(wù)器,本身已經(jīng)具有 LDAP 功能,可以管理 Windows 域賬號(hào),本文擴(kuò)展域服務(wù)器,為用戶增加 Unix 屬性,這樣 Linux/Unix 機(jī)器上的帳號(hào)也使用 AD 域來管理。再介紹如何配置 ClearCase Linux/Unix 機(jī)器,以及 ClearQuest 和后臺(tái)的 DB2 使用該 AD 域進(jìn)行 LDAP 認(rèn)證。這樣,多個(gè)賬號(hào)管理系統(tǒng)都合并為一套 LDAP 系統(tǒng),當(dāng)用戶信息改變時(shí),所有系統(tǒng)都可以映射得到最新改動(dòng),減少了維護(hù)成本。

            在開發(fā)過程中,如果不使用 LDAP 來集中管理,就會(huì)出現(xiàn)上述的多個(gè)問題。如下圖 1 是 Rational ClearCase、ClearQuest、BuildForge 以及 DB2 利用 LDAP 進(jìn)行認(rèn)證的應(yīng)用場(chǎng)景。本文將分別來介紹每一種應(yīng)用怎么實(shí)現(xiàn)與 LDAP 進(jìn)行認(rèn)證。


            圖 1. 軟件開發(fā)集成環(huán)境下的應(yīng)用拓?fù)浜陀脩艄芾?/strong>
            圖 1. 軟件開發(fā)集成環(huán)境下的應(yīng)用拓?fù)浜陀脩艄芾? src=

            LDAP 域基本信息和組織結(jié)構(gòu)

            LDAP 中的信息是是按照樹型結(jié)構(gòu)組織的,具體信息存儲(chǔ)在 Entry 條目數(shù)據(jù)結(jié)構(gòu)中。條目相當(dāng)于關(guān)系數(shù)據(jù)庫中表的記錄;DN(Distinguished Name)是用來引用條目的,DN 相當(dāng)于關(guān)系數(shù)據(jù)庫表中的關(guān)鍵字(Primary Key)。每一個(gè)條目有多個(gè)屬性,屬性是由類型(Type) 和一個(gè)或多個(gè)值 (Values) 組成,相當(dāng)于關(guān)系數(shù)據(jù)庫中的字段 (Field) 由字段名和數(shù)據(jù)類型組成。

            在下面的配置中,DC 指一條記錄所屬區(qū)域;OU 指一條記錄所屬組織;CN/UID 指一條記錄的名字或 ID。

            LDAP 的信息是以樹型結(jié)構(gòu)存儲(chǔ)的,在樹根一般定義國家(C=CN)或域名(DC=COM),在其下則往往定義一個(gè)或多個(gè)組織單元(Organizational Units)簡(jiǎn)稱 OU。不同的用戶可以歸屬于不同的組織,例如,在本文中,需要支持 ClearCase、ClearQuest、DB2 還有其它應(yīng)用 BuildForge 等的認(rèn)證。所以在規(guī)劃上,可以將這些用戶和相關(guān)組織到不同的 OU,在域中體現(xiàn)為不同的目錄。如下圖 2 所示。


            圖 2. LDAP 中多個(gè)應(yīng)用對(duì)應(yīng)不同的目錄
            圖 2. LDAP 中多個(gè)應(yīng)用對(duì)應(yīng)不同的目錄

            配置過程中要用到的 LDAP 基本信息如下表 1 所示。


            表 1. LDAP基本信息
            LDAP 服務(wù)器名字 cdlcc02.cn.ibm.com
            服務(wù)端口號(hào) 389
            是否允許匿名連接 Yes
            用戶查詢的目錄入口
            如果不指定則從根部查詢,性能會(huì)降低
            CC 和 CQ:
            ou=cdl_cc Account,dc=cn,dc=ibm,dc=com
            ou=cdl_cc Group,dc=cn,dc=ibm,dc=com
            DB2 :
            ou=cdl_cc DB2,dc=cn,dc=ibm,dc=com
            查尋的范圍 sub
            存儲(chǔ)用戶登陸名的LDAP 屬性. sAMAccountName
            LDAP查詢過濾條件 sAMAccountName=%login%


            擴(kuò)展域服務(wù)器

            AD 域是 LDAP 的一種,域服務(wù)器的安裝和配置請(qǐng)參考其他資料,下面以 Windows 2003 R2 為例,介紹如何擴(kuò)展該域,增加 Unix 屬性頁面。

            擴(kuò)展 AD 域的 Schema

            在 AD 域已經(jīng)安裝和部署完成的情況下,還需要擴(kuò)展增加 Unix 屬性部分,首先在域服務(wù)器上安裝 Identity Management for UNIX 組件。

            插入 Windows R2 第二張光盤,從添加/刪除程序 -- 增加/刪除 Windows 組件(雙擊進(jìn)入它)-- 選擇安裝 ”Active Diectory Services” 見圖 3 所示。


            圖 3. 安裝 Active Diectory Services
            圖 3. 安裝 Active Diectory Services

            下一步如圖 4 所示,選擇 Identity Management for UNIX 組件。


            圖 4. 安裝 Identity Management for UNIX 組件
            圖 4. 安裝 Identity Management for UNIX 組件

            用戶的 UNIX 屬性

            安裝了 Identity Management for UNIX 后,域用戶的管理窗口中會(huì)增加一個(gè) UNIX Attributes 的屬性頁,可以在這里指定 Linux/Unix 用戶的 UID,Login Shell,HomeDiectory 和 Primary group(主組),如圖 5 所示。


            圖 5. 用戶的 Unix 屬性
            圖 5. 用戶的 Unix 屬性

            ClearCase使用 AD 域來管理帳號(hào)

            ClearCase 本身不管理自己的用戶和用戶組賬號(hào),ClearCase 的用戶管理依賴于操作系統(tǒng),通過用戶在操作系統(tǒng)中的登錄識(shí)別用戶,并由此確定用戶是否具有進(jìn)行 ClearCase 操作的資格。ClearCase 推薦使用域來管理操作系統(tǒng)的賬號(hào),ClearCase 與域的密切關(guān)系主要是與 ClearCase 的訪問控制有關(guān)。

            用戶的所屬組可以有多個(gè),可以指定其中的一個(gè)作為該用戶的主組,在 ClearCase 環(huán)境里,可以設(shè)定所有用戶的主組相同,指向同一個(gè)組,比如 ccusers。主組在不同的操作系統(tǒng)上實(shí)現(xiàn)的方式不同,在 Linux 和 Unix 系統(tǒng)里,主組在網(wǎng)絡(luò)信息系統(tǒng)(NIS,Network Information System)passwd 數(shù)據(jù)庫中定義,對(duì)于為 Windows,創(chuàng)建用戶的域賬號(hào)的時(shí)候,就指定了主組,域賬號(hào)的信息存儲(chǔ)在與服務(wù)器的數(shù)據(jù)庫中。

            當(dāng)以某一用戶 ID 登錄到安裝了 ClearCase 的系統(tǒng)主機(jī)上以后,這個(gè)用戶 ID 就已經(jīng)決定了某種信任,這種信任是可以控制用戶對(duì)于 VOB 和 View 中的 Element 的訪問控制權(quán)限。簡(jiǎn)單地說,就是以什么樣的用戶登錄系統(tǒng),就具備了已經(jīng)賦予了該用戶的所有訪問控制權(quán)限。

            配置 ClearCase 主機(jī)使用 LDAP 認(rèn)證

            Windows 用戶使用域賬號(hào)登陸,非常簡(jiǎn)單,只需要設(shè)置 Primary_Group 環(huán)境變量。

            Linux/Unix 用戶要使用 LDAP 域進(jìn)行認(rèn)證,需要按照下面步驟進(jìn)行配置。

            本文以 Redhat 系統(tǒng)為例,但本文的方案不限于 Linux 及 Unix 平臺(tái),作者已經(jīng)成功地配置了其他 Linux,SuSE,Ubuntu,Mac,AIX 等機(jī)器使用 LDAP 進(jìn)行用戶認(rèn)證。

            下面步驟中園括號(hào)內(nèi)的文字均為注解。

            1. 首先確認(rèn) OS 已經(jīng)已經(jīng)安裝以下包。
            pam_krb5
            krb5-libs
            krb5-workstation
            openldap-clients
            nss_ldap
            

            1. 同步時(shí)鐘。

            可以選擇配置本地時(shí)間服務(wù)器和外部 internet 時(shí)間同步,也可以自己內(nèi)部搭建一個(gè)時(shí)鐘服務(wù)器,本文選擇去同步 IBM 的時(shí)鐘服務(wù)器(timeserver.raleigh.ibm.com),所有使用 LDAP 認(rèn)證的機(jī)器要求和 LDAP 服務(wù)器的時(shí)間一致,否則 LDAP 連接查詢會(huì)失敗。

            (1)cat /etc/ntp.conf
            server timeserver.raleigh.ibm.com
            driftfile /var/lib/ntp/drift
            (2)/etc/ntp/ntpservers (清空舊的時(shí)間服務(wù)器)
            (3) cat /etc/ntp/step-tickers  
            timeserver.raleigh.ibm.com
            

            1. 配置 kerberos。
            cat  /etc/krb5.conf
            [logging]
             default = FILE:/var/log/krb5libs.log
             kdc = FILE:/var/log/krb5kdc.log
             admin_server = FILE:/var/log/kadmind.log
            [libdefaults]
             default_realm = CN.IBM.COM
             dns_lookup_realm = false
             dns_lookup_kdc = false
             ticket_lifetime = 24h
             forwardable = yes
            [realms]
             CN.IBM.COM = {
              kdc = cdlcc02.cn.ibm.com:88(server 地址)
              admin_server = cdlcc02.cn.ibm.com:749
             }
            [domain_realm]
             cn.ibm.com = CN.IBM.COM
             .cn.ibm.com = CN.IBM.COM
            [kdc]
             profile = /var/kerberos/krb5kdc/kdc.conf
            [appdefaults]
             pam = {
               debug = false
               ticket_lifetime = 36000
               renew_lifetime = 36000
               forwardable = true
               krb4_convert = false
             }
            

            1. 配置 Pam,指定用戶的認(rèn)證方式。
            cat  /etc/pam.d/system-auth (根據(jù)你現(xiàn)有的配置,再增加斜體部份即可)
            #%PAM-1.0
            # User changes will be destroyed the next time authconfig is run。
            auth        required     pam_env.so
            auth        sufficient    pam_unix.so nullok try_first_pass
            auth        requisite     pam_succeed_if.so uid >= 500 quiet
            auth        sufficient    pam_krb5.so use_first_pass (使用 kerbers 方式認(rèn)證)
            auth        required     pam_deny.so
            auth        required     pam_tally.so onerr=fail deny=5
            account     required      pam_tally.so
            account     required      pam_unix.so broken_shadow
            account     sufficient    pam_succeed_if.so uid < 500 quiet
            account     [default=bad success=ok user_unknown=ignore] pam_krb5.so (設(shè)置如果 ldap servser 
                                                                            不可以用,采用本地 root 登錄)
            account     required      pam_permit.so
            password    required      pam_cracklib.so retry=3 minlen=8 dcredit=0 ucredit=0 lcredit=0 
                                                      ocredit=0 type=
            password    sufficient    pam_unix.so md5 shadow nullok use_authtok md5 shadow remember=7
            password    sufficient    pam_krb5.so use_authtok
            password    required      pam_deny.so
            session     optional      pam_keyinit.so revoke
            session     required      pam_limits.so
            session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
            session     required      pam_unix.so
            session     required      pam_mkhomedir.so skel=/etc/skel umask=002(為第一次登錄的用戶創(chuàng)建 home 目錄)
            session     optional      pam_krb5.so
            

            1. 設(shè)置 LDAP 查詢的相關(guān)信息,包括查找范圍,方法等。
            cat /etc/ldap.conf
            bind_policy soft
            host 9.125.240.48 (ldap server ip 或 host 都可)
            base DC=cn,DC=ibm,DC=com
            scope sub (搜索的類型)
            timelimit 30
            binddn ldapadmin@cn.ibm.com(連接的用戶名和密碼,最好用域管理員的,有權(quán)限遍歷整個(gè) LDAP 目錄)
            bindpw Password1
            nss_base_passwd OU=CDL_CC Account,DC=cn,DC=ibm,DC=com?sub
            nss_base_shadow OU=CDL_CC Account,DC=cn,DC=ibm,DC=com?sub
            nss_base_group OU=CDL_CC Group,DC=cn,DC=ibm,DC=com?sub
            nss_map_objectclass posixAccount user
            nss_map_objectclass shadowAccount user (ldap client 和 server 類型的轉(zhuǎn)換)
            nss_map_attribute uid sAMAccountName
            nss_map_attribute homeDirectory unixHomeDirectory
            nss_map_attribute shadowLastChange pwdLastSet
            nss_map_objectclass posixGroup group
            nss_map_attribute uniqueMember member
            nss_map_attribute gecos cn
            pam_login_attribute sAMAccountName
            pam_filter objectclass=User
            

            1. 設(shè)置開機(jī)讀取用戶的順序。

            修改 /etc/nsswitch.conf,表示先本地用戶信息庫查找再 LDAP。

            passwd:     files ldap
            shadow:     files ldap
            group:      files ldap
            

            1. 測(cè)試配置。
            # getent passwd
            # getent group
            

            如果你使用以上兩個(gè)命令能得到你的所有的域用戶和組,恭喜你所有配置完全正確,你就可以使用域用戶去登錄你的 Linux 主機(jī)了。

            配置 ClearCase Vob 服務(wù)器上的 Samba

            如果 Linux 機(jī)器要作為 VOB 服務(wù)器,以 Samba 方式共享數(shù)據(jù),不僅要按照上一節(jié)配置成為 LDAP Client,還需要執(zhí)行下面的配置才能使 Samba 工作。

            Samba 認(rèn)證有多種方法,本文使用 Domain 來認(rèn)證,該方法需要將 Samba 服務(wù)器加入域。

            1. 設(shè)置 Smaba 的認(rèn)證方式為 Domain
            Global parameters
                    security = domain
                    workgroup = CDL_CC(域服務(wù)器的 netbios 名)
            

            1. Samba加入域
            net rpc join –S cdlcc02.cn.ibm.com –U domainadmin

            1. 測(cè)試加入域是否成功
            net rpc testjoin
            # net rpc testjoin
            Join to 'CDL_CC' is OK
            


            配置 ClearQuest 使用LDAP認(rèn)證

            ClearQuest 有自己的一套用戶管理系統(tǒng),用戶和組信息存儲(chǔ)在后臺(tái)的用戶數(shù)據(jù)庫(User DB)中 ClearQuest 支持使用 LDAP 來認(rèn)證,除了 Solaris,其他大多數(shù)平臺(tái)都支持。這樣,開發(fā)人員只需要記住域賬號(hào)和密碼,用域賬號(hào)就能登陸 ClearQuest。

            配置 ClearQuest 啟用 LDAP

            運(yùn)行 installutil 命令 從命令行可以直接配置。

            第一步:設(shè)置認(rèn)證算法為 CQ_ONLY,在改變認(rèn)證方法前,先設(shè)置認(rèn)證算法為 CQ_ONLY,這樣在配置期間阻止 LDAP 用戶登陸。

            installutil setauthenticationalgorithm dbset_name cq_user 
                                                   cq_password CQ_ONLY
            installutil setauthenticationalgorithm 7.0.0 admin password CQ_ONLY
            

            第二步:設(shè)置 ClearQuest LDAP 連接信息,-h LDAP 服務(wù)器主機(jī)名;-p 端口,默認(rèn)是 389;-D 允許匿名連接時(shí)的查詢賬號(hào);-w 查詢賬號(hào)的密碼。

            installutil setldapinit dbset_name cq_user cq_password
                                "-h <A> -p <B> -D <C1> -w <C2>"
            
            installutil setldapinit 7.0.0 admin password "-h 'cdlcc02.cn.ibm.com' -p 389 -D 
                         cn=ldapadmin, ou=CDL_CC Account, dc=cn, dc=ibm, dc=com -w Password1"
            

            第三步:LDAP 查詢標(biāo)準(zhǔn)設(shè)置。

            -b 開始查詢的 BaseDN-s 查詢的范圍;過濾條件中,sAMAccountName 是存儲(chǔ)用戶登陸名的 LDAP 屬性。

            installutil setldapsearch dbset_name cq_user cq_password 
                                                    "-s <E> -b <D> <G>"
            installutil setldapsearch 7.0.0 admin passsword "-s sub -b ou=CDL_CC Account, dc=cn, 
            dc=ibm, dc=com (&(objectCategory=person)(sAMAccountName=%login%)
            (!(userAccountControl:1.2.840.113556.1.4.803:=2)))"
            

            第四步:設(shè)置 ClearQuest 和 LDAP 的對(duì)應(yīng)關(guān)系。

            ClearQuesr 可以映射的用戶屬性有 CQ_EMAILCQ_FULLNAMECQ_LOGIN_NAMECQ_MISC_INFO,或者 CQ_PHONE,相應(yīng)的 LDAP 中也有多個(gè)屬性,只要是可以一一對(duì)應(yīng)的就可以。

            下面的例子是通過 ClearQuest 的登陸名與 Windows 域服務(wù)器中的用戶屬性 sAMAccountName 進(jìn)行映射。

            installutil setcqldapmap dbset_name cq_user cq_password cq_user_field <H>
            installutil setcqldapmap 7.0.0 admin password CQ_LOGIN_NAME sAMAccountName
            

            第五步:驗(yàn)證 LDAP 配置信息。

            測(cè)試用戶名是 test_user,LDAP 密碼是 test_pwd

            installutil validateldap dbset_name cq_user cq_password <I> 
            <J>
            installutil validateldap 7.0.0 admin password test_user test_pwd
            

            第六步:設(shè)置認(rèn)證算法為 CQ_FIRST

            Usage: installutil setauthenticationalgorithm dbset_name cq_user 
                                                                      cq_password CQ_FIRST
            

            第七步:以上步驟完成后,下來為一個(gè)用戶設(shè)置認(rèn)證模式

            在如下圖 6 中,LDAP 認(rèn)證打上勾,表示為該用戶啟用 LDAP,在 LDAP Login 欄輸入用戶的登陸名,因?yàn)楸疚那懊嬉呀?jīng)設(shè)置使用 ClearQuest 登錄名和 LDAP 中存儲(chǔ)用戶登陸名的屬性 sAMAccountName 進(jìn)行映射。


            圖 6. ClearQuest用戶屬性
            圖 6. ClearQuest用戶屬性

            ClearQuest 使用 LDAP 的認(rèn)證過程

            當(dāng) ClearQuest 配置為使用 LDAP 認(rèn)證時(shí),CQ 不僅要通過 LDAP 查詢,還需要后臺(tái)用戶數(shù)據(jù)庫檢查,順序如圖 7。

            CQ 首先檢查是否在用戶數(shù)據(jù)庫中有這樣的一個(gè)用戶,然后利用上面第三步設(shè)定的查找條件在 LDAP 中查找,LDAP 會(huì)驗(yàn)證密碼,最后獲取第四步中設(shè)置的 LDAP 屬性值和 CQ user DB 中的進(jìn)行比較。


            圖 7. ClearQuest 配置為 LDAP 后的認(rèn)證流程
            圖 7. ClearQuest 配置為 LDAP 后的認(rèn)證流程

            如果你的角色是ClearQuest管理員,你應(yīng)該認(rèn)識(shí)到,ClearQuest 在配置使用 LDAP 認(rèn)證時(shí),本身仍需要維護(hù)自己的用戶數(shù)據(jù)庫,在認(rèn)證過程中,用戶信息必須存儲(chǔ)在 LDAP 和后臺(tái)數(shù)據(jù)庫兩邊,并且匹配,密碼使用的是 LDAP 中的信息,這些對(duì)于 CQ 用戶是透明的,所以對(duì)最終的 ClearQuest 用戶來說,還是方便很多。


            配置 CQ 后臺(tái) DB2 數(shù)據(jù)庫使用 LDAP 認(rèn)證

            在大多數(shù)的應(yīng)用場(chǎng)景中,數(shù)據(jù)庫都是處于應(yīng)用的最底層,用戶面對(duì)的最上層的應(yīng)用,比如 Apach、Websphere 等都可以進(jìn)行簡(jiǎn)單的配置利用 LDAP 來認(rèn)證,但后臺(tái)數(shù)據(jù)庫的認(rèn)證還是使用數(shù)據(jù)庫本身提供的方式。

            DB2 常用的認(rèn)證方式是借助于操作系統(tǒng)的用戶和組信息的,如果操作系統(tǒng)配置為使用 LDAP 來認(rèn)證,理論上 DB2 可以對(duì)此配置視而不見,因?yàn)?DB2 只是和操作系統(tǒng)之間進(jìn)行對(duì)話,但是,DB2 不象其他應(yīng)用可以識(shí)別 Pam,不能透明的使用操作系統(tǒng)改變后的配置,所以仍舊需要對(duì) DB2 進(jìn)行配置以支持 LDAP。

            為了便于系統(tǒng)賬號(hào)集中管理,下面介紹如何配置 DB2 9.1 on Linux,使其可以通過利用 DB2 9.1 自帶的 LDAP 插件,實(shí)現(xiàn) LDAP 認(rèn)證。

            在 DB2 服務(wù)器端應(yīng)用 LDAP

            1. 獲得插件

            DB2 從 8.2 以后支持 LDAP,下載后分別將三個(gè)插件放到相應(yīng)的目錄,并且確保文件屬性。

            DB2 9.1 及更高的版本在安裝完后會(huì)自帶這些插件。

            存儲(chǔ)目錄:INSTHOME/sqllib/security32/plugin

            LDAP 插件的下載地址參見參考資料

            1. 更新服務(wù)器參數(shù)

            首先更新 DB2 服務(wù)器的相關(guān)參數(shù),更新完成后,數(shù)據(jù)庫就會(huì)按照配置文件指定的方式通過 LDAP 來認(rèn)證用戶和組。

              Server: UPDATE DBM CFG USING SRVCON_PW_PLUGIN  IBMLDAPauthserver
              Client: UPDATE DBM CFG USING CLNT_PW_PLUGIN    IBMLDAPauthclient
              Group:  UPDATE DBM CFG USING GROUP_PLUGIN      IBMLDAPgroups
            

            1. 配置文件指定 LDAP 相關(guān)參數(shù)

            配置文件(IBMLDAPSecurity.ini),指定了 DB2 通過哪種方法去哪里尋找用戶和組。

            一般情況下,配置文件在 Windows 和 UNIX 上分別存儲(chǔ)在以下位置,也可以通過環(huán)境變量 DB2LDAPSecurityConfig 來指定別的位置。

            UNIX:    INSTHOME/sqllib/cfg/IBMLDAPSecurity.ini
            Windows: %DB2PATH%\cfg\IBMLDAPSecurity.ini
            

            1. 以 MSAD 為例說明配置文件中的主要條目

            (1) 服務(wù)器端相關(guān)值

            比如 LDAP 服務(wù)器的名字,可以指定多個(gè),使用空格隔開,host1[:port] [host2:[port2] ... ],端口不說明則使用默認(rèn)的 389。

            LDAP_HOST = cdlcc02.cn.ibm.com

            (2) 用戶相關(guān)值

            用戶在 LDAP 中對(duì)應(yīng)的對(duì)象類 USER_OBJECTCLASS(MSDA 是 user)。USER_BASEDN 指定從目錄樹的那個(gè)入口開始查找,可選的,如果不指定,則會(huì)從根部開始遍歷整個(gè)目錄樹,MSDA 要求必須指定。USERID_ATTRIBUTE,指 LDAP 中代表用戶 ID 的用戶屬性,該屬性將和 USER_OBJECTCLASSUSER_BASEDN 構(gòu)成一個(gè)用戶查詢,MSAD 中,該值是 sAMAccountName

            AUTHID_ATTRIBUTE,指 LDAP 中代表 DB2 授權(quán) ID 的用戶屬性,大多數(shù)情況下和 USERID_ATTRIBUTE 值一樣。

            USER_OBJECTCLASS = user
            USER_BASEDN = OU=CDL_CC DB2,DC=cn,DC=ibm,DC=com
            USERID_ATTRIBUTE = sAMAccountName
            AUTHID_ATTRIBUTE = sAMAccountName
            

            (3) 組相關(guān)值

            包括組在 LDAP 中對(duì)應(yīng)的對(duì)象類 GROUP_OBJECTCLASS(MSDA 是 group),GROUP_BASEDN 指定從目錄樹的那個(gè)入口開始查找組,GROUPNAME_ATTRIBUTE 指定代表組名的組屬性。

            GROUP_OBJECTCLASS = group
            GROUP_BASEDN = OU= CDL_CC DB2,DC=cn,DC=ibm,DC=com
            GROUPNAME_ATTRIBUTE = sAMAccountName
            

            (4) 用戶所屬組的查找

            一種方法是 SEARCH_BY_DN,也就是查找組的屬性 member,看哪個(gè)組的成員列表中包含該用戶。另一種是通過查找用戶的屬性 memberofMemberofmember 對(duì)應(yīng),記錄了該用戶的所屬組。在 MSAD 中,使用第二種方法。

            GROUP_LOOKUP_METHOD = USER_ATTRIBUTE
            GROUP_LOOKUP_ATTRIBUTE = memberOf
            

            ClearQuest 模式連接用戶的特殊設(shè)置

            ClearQuest 模式連接中的用戶是一個(gè)DB2用戶,不是 ClearQuest 的用戶。負(fù)責(zé) ClearQuest 應(yīng)用和后臺(tái)模式庫的連接,非常關(guān)鍵,一旦該用戶被鎖定或者密碼過期,整個(gè) ClearQuest 應(yīng)用就會(huì)癱瘓。由于該用戶是處理應(yīng)用和應(yīng)用之間的請(qǐng)求,所以最好設(shè)置該用戶賬號(hào)永不過期,安全起見,可以設(shè)置該用戶是不能登陸的。


            總結(jié)

            經(jīng)過上述的部署和配置后,開發(fā)人員工作需要的 ClearCase Windows 帳號(hào) 和 Linux/Unix機(jī)器帳號(hào)以及 ClearQuest 帳號(hào)都合并一個(gè)域賬號(hào)和密碼。

            對(duì)于管理員來說,只需維護(hù)一套賬號(hào)系統(tǒng),新添一個(gè) ClearCase Linux 客戶端或服務(wù)器的時(shí)候,再也不用去創(chuàng)建重復(fù)的賬號(hào)了。


            參考資料

            學(xué)習(xí)

            • 查看 Rational ClearQuest 信息中心

            • 查看 Windows Security and Directory Services for UNIX v1.0

            • 訪問 developerWorks 中國網(wǎng)站的 Jazz 技術(shù)空間,這里匯集了豐富的 Jazz 平臺(tái)中文技術(shù)資源。 您可以通過這里了解更多關(guān)于 Jazz 平臺(tái)和 Jazz 技術(shù)發(fā)展趨勢(shì)的最新信息。

            • 訪問 UML 資源中心,獲得關(guān)于統(tǒng)一建模語言(Unified Modeling Language,UML)的入門知識(shí)、技術(shù)資源和最佳實(shí)踐。

            • 訪問 IBM developerWorks 中國網(wǎng)站 Rational 專區(qū),獲得關(guān)于 IBM Rational 軟件交付平臺(tái)(Rational Software Delivery Platform)產(chǎn)品的技術(shù)資源和最佳實(shí)踐。

            • 閱讀 Rational Edge 中文版,獲取軟件開發(fā)領(lǐng)域的最佳實(shí)踐。

            • 訂閱 IBM developerWorks 時(shí)事通訊,一份關(guān)于 developerWorks 指南、文章、下載、社區(qū)活動(dòng)、網(wǎng)絡(luò)廣播和技術(shù)講座的電子周刊。

            • 學(xué)習(xí) Hello World 系列教程,這是學(xué)習(xí) IBM 軟件工具的快速通道。在每一篇教程中,都會(huì)有快速入門產(chǎn)品演示動(dòng)畫。您可以通過其中的動(dòng)畫演示快速瀏覽如何使用 IBM 軟件完成開發(fā)任務(wù)。

            獲得產(chǎn)品和技術(shù)

            討論

            作者簡(jiǎn)介

            馬玲,CSDL 軟件工程師,主要從事軟件配置管理工作,熟悉 ClearCase、ClearQuest。

            易傳佳,CSDL 軟件工程師,主要從事 Windows、Linux 系統(tǒng)管理和維護(hù)。

            posted on 2011-10-26 08:34 tqsheng 閱讀(1092) 評(píng)論(0)  編輯 收藏 引用


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            亚洲国产美女精品久久久久∴| 久久久无码精品亚洲日韩京东传媒| 久久伊人精品一区二区三区| 久久这里都是精品| 久久久亚洲欧洲日产国码二区| 国产午夜精品久久久久免费视| 99久久99久久精品国产片果冻| 婷婷国产天堂久久综合五月| 国产精品99久久免费观看| 99久久精品九九亚洲精品| 精品久久久中文字幕人妻| 国产精品视频久久久| 2019久久久高清456| 91久久精品视频| 精品久久久久久久无码| 亚洲日本va午夜中文字幕久久| 亚洲中文字幕无码久久2017| 91久久精品无码一区二区毛片| 亚洲中文字幕无码久久2017| 精品国产一区二区三区久久蜜臀| 久久久久久人妻无码| 狠狠色丁香婷婷久久综合| 国产精品热久久毛片| 99久久婷婷国产综合亚洲| 亚洲成色WWW久久网站| 久久亚洲国产精品成人AV秋霞| 久久久精品久久久久久| 2021国产成人精品久久| 狠狠色丁香久久婷婷综| 精品人妻久久久久久888| 久久亚洲精品无码AV红樱桃| 亚洲Av无码国产情品久久| 看全色黄大色大片免费久久久| 国内精品久久久久久不卡影院| 久久久久亚洲精品无码蜜桃| 亚洲精品高清国产一线久久| 伊人久久大香线蕉av不卡| 久久久一本精品99久久精品88| 久久永久免费人妻精品下载| 精品乱码久久久久久久| 91精品婷婷国产综合久久|