用戶和組帳戶與DB2 UDB的交互.doc_第1頁
用戶和組帳戶與DB2 UDB的交互.doc_第2頁
用戶和組帳戶與DB2 UDB的交互.doc_第3頁
用戶和組帳戶與DB2 UDB的交互.doc_第4頁
用戶和組帳戶與DB2 UDB的交互.doc_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

Bottom of Form用戶和組帳戶與DB2 UDB的交互ZDNet軟件頻道時(shí)間:2009-02-19作者: | ZDNet China軟件技術(shù)專區(qū)我要評(píng)論(4)本文關(guān)鍵詞:數(shù)據(jù)庫 IBM DB2 DB2 DB2 安裝向?qū)?chuàng)建該帳戶時(shí)自動(dòng)授予下列用戶權(quán)限: 作為操作系統(tǒng)的一部分: 調(diào)試程序、創(chuàng)建 token 對象、增加配額、鎖定內(nèi)存頁、作為服務(wù)登錄、代替進(jìn)程級(jí)的 token。要修改該參數(shù)的值,可使用 db2admin setschedid Word 命令,其中 和 是調(diào)度程序用于連接到遠(yuǎn)程工具目錄數(shù)據(jù)庫的用戶 ID 和口令。DB2 UDB 安全模型主要包括兩部分:身份驗(yàn)證(authentication) 和授權(quán)(authorization)。 身份驗(yàn)證 身份驗(yàn)證就是使用安全機(jī)制驗(yàn)證所提供用戶 ID 和口令的過程。用戶和組身份驗(yàn)證由 DB2 UDB 外部的設(shè)施管理,比如操作系統(tǒng)、域控制器或者 Kerberos 安全系統(tǒng)。這和其他數(shù)據(jù)庫管理系統(tǒng)(DBMS)是不同的,如 Oracle 和 SQL Server,后者既可以在數(shù)據(jù)庫本身中定義和驗(yàn)證用戶帳戶,也可在外部設(shè)施(如操作系統(tǒng))中完成。一旦用戶 ID 和口令作為實(shí)例附件或數(shù)據(jù)庫連接請求的一部分明確地提供給 DB2 UDB,DB2 UDB 就會(huì)嘗試使用該外部安全設(shè)施驗(yàn)證用戶 ID 和口令。如果請求中沒有提供用戶 ID 和口令,則 DB2 UDB 隱含使用登錄到發(fā)出請求的工作站時(shí)所用的用戶 ID 和口令。 實(shí)際的驗(yàn)證位置由 DB2 UDB 實(shí)例參數(shù) AUTHENTICATION 的值決定。有不同的身份驗(yàn)證方案,包括讓用戶在 DB2 UDB 服務(wù)器上驗(yàn)證(使用服務(wù)器的安全設(shè)施)、在客戶機(jī)上驗(yàn)證(允許 “單點(diǎn)登錄” 訪問)、使用 Kerberos 安全設(shè)施驗(yàn)證,或者用戶定義的通用安全服務(wù)(Generic Security Service,GSS)插件驗(yàn)證。其他身份驗(yàn)證選項(xiàng)包括當(dāng)用戶名和口令以及數(shù)據(jù)在客戶機(jī)和服務(wù)器之間的網(wǎng)絡(luò)上傳遞時(shí)進(jìn)行加密。為 AUTHENTICATION 參數(shù)選擇的值依賴于具體環(huán)境和本地安全策略。關(guān)于各種身份驗(yàn)證方案的完整描述,請參閱 DB2 UDB 文檔。 比如,連接語句供用戶 bob 使用口令 bobpsw 連接到 finance 數(shù)據(jù)庫。身份驗(yàn)證過程包括七個(gè)步驟: CONNECT 語句傳遞給 DB2 UDB 服務(wù)器。 如果沒有明確配置安全插件,則使用默認(rèn)的安全插件。如果包含 finance 數(shù)據(jù)庫的實(shí)例的 AUTHENTICATION 參數(shù)設(shè)為 SERVER(默認(rèn)設(shè)置),連接請求中的用戶 ID 和口令則由 DB2 UDB 服務(wù)器上的安全設(shè)施驗(yàn)證。默認(rèn)插件將用戶 ID 和口令發(fā)送給操作系統(tǒng)進(jìn)行驗(yàn)證。操作系統(tǒng)確認(rèn)bob/bobpsw 組合是否有效,把該信息返回給安全插件。安全插件激活 DB2 UDB 安全機(jī)制,對用戶 bob 查詢 DB2 UDB 目錄表,看看該用戶是否被授予了該數(shù)據(jù)庫的 CONNECT 權(quán)限。默認(rèn)情況下,CONNECT 特權(quán)被授予 PUBLIC,就是說任何通過身份驗(yàn)證的用戶都能連接到數(shù)據(jù)庫。DB2 UDB 安全機(jī)制驗(yàn)證用戶 bob 或者返回錯(cuò)誤。 安全插件把成功或者失敗的消息返回給用戶。如果用戶沒有通過身份驗(yàn)證,DB2 UDB 就會(huì)拒絕連接請求,并向客戶機(jī)應(yīng)用程序返回錯(cuò)誤消息,如下所示: 清單 1. 用戶身份驗(yàn)證失敗時(shí) DB2 UDB 返回應(yīng)用程序的消息: SQL30082N Attempt to establish connection failed with security reason 24 (USERNAME AND/OR PASSWord INVALID). SQLSTATE=08001 DB2 UDB 服務(wù)器上的 DB2 UDB 診斷日志(DB2diag.log)中也會(huì)出現(xiàn)類似于下面這樣的記錄: 清單 2. 用戶身份驗(yàn)證失敗時(shí) DB2 診斷日志中的消息: 2005-07-09-46000-240 I729347H256 LEVEL: SeverePID : 3888 TID : 604FUNCTION: DB2 Common, Security, Users and Groups, secLogMessage, probe:20DATA #1 : String, 44 bytescheck password failed with rc = -2146500502 在 Windows 上,診斷日志可以在數(shù)據(jù)庫實(shí)例主目錄中找到,默認(rèn)為 C:Program FilesIBMSQLLIBDB2。在 Unix 上默認(rèn)位置是 /DB2/DB2dump,其中 是實(shí)例所有者的路徑。 如果遇到這樣的消息,一定要確認(rèn)連接到數(shù)據(jù)庫的用戶或應(yīng)用程序是否提供了合法的用戶 ID 和口令。該用戶 ID 和口令必須存在于執(zhí)行用戶身份驗(yàn)證的設(shè)施中(由目標(biāo) DB2 UDB 實(shí)例的 AUTHENTICATION 參數(shù)決定)。 授權(quán) 授權(quán)是決定指定用戶 ID 對特定數(shù)據(jù)庫對象和動(dòng)作的訪問和特權(quán)信息的過程。DB2 UDB 在內(nèi)部存儲(chǔ)和維護(hù)用戶/組的授權(quán)信息。每當(dāng)提交一個(gè)命令時(shí),DB2 UDB 執(zhí)行授權(quán)檢查以保證您有執(zhí)行該動(dòng)作的正確特權(quán)。 特權(quán)可以授予特定的用戶或者用戶組。用戶和組的定義本身同樣在 DB2 UDB 外部定義。作為組成員的用戶自動(dòng)繼承該組的特權(quán)。授予用戶的特定權(quán)限優(yōu)先于和該用戶參與的任何組關(guān)聯(lián)的特權(quán),并且一直有效,即使后來從組中刪除了用戶。就是說,明確授予用戶的特權(quán)必須明確收回。 多數(shù)數(shù)據(jù)庫對 象都由一組相關(guān)的權(quán)限,可使用 SQL 語句 GRANT 和 REVOKE 分配給用戶和組。比如,下面的 SQL 語句將 ADM.ACCTABC 表的 SELECT 權(quán)限授予用戶 bob:GRANT SELECT ON TABLE ADM.ACCTABC TO USER BOB。 一旦發(fā)出該語句,用戶 bob 就可以提交引用該表的 SELECT 語句。類似的,下面的 SQL 語句從 clerks 組收回 ADM.LEGERS 視圖的 INSERT 權(quán)限:REVOKE INSERT ON VIEW ADM.LEGERS FROM GROUP CLERKS。 只能收回以前授予的權(quán)限。關(guān)于能夠授予用戶和組的各種數(shù)據(jù)庫對象特權(quán)的詳細(xì)信息,請參閱 DB2 UDB 文當(dāng)。 必須指出,特別是對 DB2 UDB 新用戶,GRANT 語句不會(huì)檢驗(yàn)用戶和組帳戶是否存在于外部設(shè)施中。這意味著,可以把權(quán)限和數(shù)據(jù)庫中存儲(chǔ)的信息授予不存在的用戶和組帳戶。這就造成了一種錯(cuò)誤的印象,即可以在 DB2 UDB 中定義用戶和組。比方說,連接到 finance 數(shù)據(jù)庫時(shí)可以發(fā)出下面的語句: GRANT SELECT ON TABLE ADM.TAXCODE TO USER XYZ。 其中的 xyz 是一個(gè)任意的字符串,沒有映射為外部安全設(shè)施中的已有用戶,然后 DB2 UDB 就會(huì)在其 GUI 工具或者某些目錄表中顯示 xyz。但這并不意味著存在或創(chuàng)建了名為 xyz 的用戶。 下方顯示了一個(gè)授權(quán)場景的例子。這個(gè)用戶叫 bob,已經(jīng)成功連接到數(shù)據(jù)庫,現(xiàn)在嘗試對表 ADM.TAXCODES 執(zhí)行 SELECT 語句。DB2 UDB 查看其目錄表,看看該用戶是否被授予了這個(gè)表的 SELECT 權(quán)限。因?yàn)榇藱?quán)限已經(jīng)授予 bob,DB2 UDB 允許執(zhí)行 SELECT 語句。 如果用戶未經(jīng)授權(quán)而對某個(gè)對象執(zhí)行一種操作,DB2 UDB 就會(huì)拒絕操作并向客戶機(jī)應(yīng)用程序返回錯(cuò)誤信息。比方說,如果用戶 bob 嘗試向 ADM.TAXCODES 表中插入一行,但是沒有足夠的權(quán)限,就會(huì)返回下面的錯(cuò)誤消息: 清單 3. 用戶授權(quán)失敗時(shí) DB2 UDB 返回的消息: DB21034E The command was processed as an SQL statement because it was not a valid Command Line Processor command. During SQL processing it returned:SQL0551N BOB does not have the privilege to perform operation INSERT on object ADM.TAXCODES. SQLSTATE=42501 如果遇到類似的消息,一定要確認(rèn)連接到數(shù)據(jù)庫所提供的用戶 ID 是否具有執(zhí)行目標(biāo)操作的適當(dāng)權(quán)限。必須明確授予該用戶此特權(quán),或者該用戶屬于擁有該特權(quán)的組,或者該用戶是超級(jí)用戶。 超級(jí)用戶 可以為某些用戶組分配特定的實(shí)例和數(shù)據(jù)庫權(quán)限。DB2 UDB 定義了超級(jí)用戶授權(quán)的層次結(jié)構(gòu)(SYSADM、SYSCTRL、SYSMAINT、SYSMON),每一種都具有執(zhí)行管理操作子集的能力,比如創(chuàng)建數(shù)據(jù)庫、迫使用戶離開系統(tǒng)和對數(shù)據(jù)庫進(jìn)行備份。關(guān)于授權(quán)級(jí)別的詳細(xì)討論請參閱 DB2 UDB 文當(dāng)(參見 參考資料)。 可以使用相關(guān)的實(shí)例級(jí)參數(shù)配置實(shí)例的授權(quán)(SYSADM_GRP、SYSCTRL_GRP、SYSMAIN_GRP、SYSMON_GRP)。每個(gè)參數(shù)可以設(shè)置為具有該授權(quán)的用戶組名(在 DB2 UDB 外部定義)。 比如,如果定義組 snrdba 包含所有高級(jí) DBA 用戶帳戶,就可使用下面的命令將 SYSADM_GRP 實(shí)例參數(shù)值設(shè)為 snrdba,從而使所有這些用戶成為 SYSADM 超級(jí)用戶: 清單 4. 更新 SYSADM_GRP 實(shí)例參數(shù) UPDATE DBM CFG USING SYSADM_GRP snrdbaDB2stopDB2start snrdba 組中的所有用戶都將擁有和 SYSADM 授權(quán)級(jí)別關(guān)聯(lián)的全部特權(quán),從而能夠執(zhí)行授權(quán)級(jí)別所需要的全部管理任務(wù)。 以這種方式定義授權(quán)就可以區(qū)分 DB2 UDB 管理員和系統(tǒng)/網(wǎng)絡(luò)管理員。比如,DBA 可能要求擁有 DB2 UDB 實(shí)例的全部管理授權(quán),但不需要本地機(jī)器或網(wǎng)絡(luò)的管理授權(quán)。在這種情況下,可以將該 DBA 的用戶帳戶添加到對系統(tǒng)/網(wǎng)絡(luò)沒有完全訪問權(quán)限、但是對 DB2 UDB 實(shí)例有完全訪問權(quán)限的組,只要在 SYSADM_GRP 實(shí)例參數(shù)中指定該組名即可。 在 Windows 上的 DB2 UDB 默認(rèn)安裝中,這些實(shí)例級(jí)超級(jí)用戶授權(quán)參數(shù)(SYSADM_GRP、SYSCTRL_GRP、SYSMAIN_GRP、SYSMON_GRP))的值默認(rèn)設(shè) 為 NULL。這意味著超級(jí)用戶權(quán)限被授予屬于本地 Administrators 組的所有合法帳戶。我們強(qiáng)烈建議明確將這些參數(shù)值改為合法的組名,以便防止未授權(quán)的訪問。在 Linux 和 UNIX 安裝中,這不是一個(gè)大問題,因?yàn)?NULL 值默認(rèn)為實(shí)例所有者的基本組,而基本組在安裝后只包含實(shí)例所有者的用戶 ID。 還可以為用戶分配一組數(shù)據(jù)庫級(jí)的授權(quán)。數(shù)據(jù)庫授權(quán)使用標(biāo)準(zhǔn)的 SQL GRANT 和 REVOKE 語句。關(guān)于這些數(shù)據(jù)庫授權(quán)級(jí)別的更多信息,請參閱 DB2 UDB 文檔(參見 參考資料)。 DB2 UDB 系統(tǒng)命令,如 DB2、DB2ilist、DB2start、DB2stop、DB2iupdt 等,都是操作系統(tǒng)可執(zhí)行文件。因此,運(yùn)行這些命令的安全機(jī)制以文件的操作系統(tǒng)權(quán)限為基礎(chǔ)。這些文件的權(quán)限在 DB2 UDB 安裝時(shí)設(shè)置。 DB2 UDB 用戶和組帳戶命名規(guī)則 在 DB2 UDB 中,用戶和組帳戶必須遵守表 1 和 2 中所述的命名規(guī)則。這些限制是在定義帳戶的外部設(shè)施中起作用的限制之外增加的。 (1) Windows NT?、Windows 2000?、Windows XP? 和 Windows Server? 2003 現(xiàn)在實(shí)際上限制為 20 個(gè)字符。 (2) 如果不使用 Client 身份驗(yàn)證,對于連接到 Windows NT、Windows 2000、Windows XP 和 Windows Server 2003 的非 Windows 32 位客戶機(jī),在明確指定用戶名和口令時(shí)支持使用超過 8 個(gè)字符的用戶名。 (3) DB2 UDB 內(nèi)部使用名為 PUBLIC 的偽組,可以為其授權(quán)或者收回特權(quán)。PUBLIC 不是外部安全設(shè)施中定義的真正的組。它是把特權(quán)授予通過身份驗(yàn)證的任何用戶的一種方式。 (4) 還有其他一些特殊字符也能使用,這取決于操作系統(tǒng)和在哪里使用 DB2 UDB。但是為了避免不一致性和潛在的問題,在數(shù)據(jù)庫中命名對象時(shí)不要使用其他特殊字符。 用默認(rèn)用戶 ID(如 DB2admin)安裝 DB2 UDB 并使用弱口令(或者根本沒有)可能將系統(tǒng)置于風(fēng)險(xiǎn)中。很多計(jì)算機(jī)病毒、蠕蟲和特洛伊木馬的設(shè)計(jì)都利用了弱口令。比方說,很多這類程序都嘗試使用常見口令如 “password”、“123456”、“111111”、“DB2admin” 等獲得對系統(tǒng)的訪問。因此不要使用簡單的口令很重要。 在驗(yàn)證用戶時(shí)口令也很重要。比如,在 Linux 和 UNIX 操作系統(tǒng)上,未定義口令被作為 NULL 處理。沒有定義口令的任何用戶都被視作使用 NULL 口令。從操作系統(tǒng)的角度來看,這是一種匹配,用戶經(jīng)過驗(yàn)證后就能連接到數(shù)據(jù)庫。 DB2 UDB 安裝需要和創(chuàng)建的用戶/組帳戶 DB2 UDB 需要一個(gè)具有管理權(quán)的用戶帳戶來執(zhí)行安裝。該用戶所需要的具體權(quán)限依賴于安裝 DB2 UDB 的平臺(tái)。默認(rèn)情況下,DB2 UDB 在安裝過程中要?jiǎng)?chuàng)建多個(gè)用戶和組帳戶。這些帳戶用于 “擁有” 和啟動(dòng)在服務(wù)器上運(yùn)行的各種 DB2 UDB 服務(wù)和進(jìn)程。 這一節(jié)介紹在 Windows、Linux 和 UNIX 環(huán)境中安裝 DB2 UDB 所需要的用戶特權(quán)。還說明在 DB2 UDB 默認(rèn)安裝過程中創(chuàng)建的各種用戶和組。 Microsoft Windows 操作系統(tǒng)上需要的用戶和組帳戶: 如果在 Windows 操作系統(tǒng)上安裝 DB2 UDB,將需要下列用戶帳戶: 1、Installation 用戶帳戶。 2、DB2 Administration Server(DAS)用戶帳戶 。 3、DB2 UDB 實(shí)例所有者用戶帳戶。 Installation 用戶帳戶: 在運(yùn)行 DB2 安裝向?qū)е?,需要定義一個(gè)安裝用戶帳戶。該帳戶可以是一個(gè)本地或域用戶帳戶。該帳戶必須屬于要進(jìn)行安裝的機(jī)器上的 Administrators 組。如果使用域帳戶,安裝帳戶必須屬于將要?jiǎng)?chuàng)建其他安裝用戶帳戶的域的 Domain Administrators 組。也可使用內(nèi)置的 LocalSystem 帳戶進(jìn)行 DB2 UDB EntERPrise Server Edition 之外的其他所有產(chǎn)品的安裝。 可以在安裝之前定義其他用戶帳戶,也可以讓 DB2 安裝向?qū)槟鷦?chuàng)建。所有用戶帳戶名必須遵守系統(tǒng)的命名規(guī)則和 DB2 UDB 命名規(guī)則。 DB2 Administration Server 用戶帳戶: DB2 Administration Server(DAS)需要使用本地或域帳戶。DAS 是一種特殊的服務(wù),支持 GUI 工具并幫助完成管理任務(wù)。DAS 有一個(gè)分配的用戶帳戶,在 DB2 UDB 加載時(shí)用于啟動(dòng)該服務(wù)。在 DB2 安裝向?qū)е?,其中有一個(gè)屏幕(如圖 3 所示)提示選擇用于啟動(dòng) DAS 服務(wù)的用戶帳戶。 可以在安裝 DB2 UDB 之前創(chuàng)建該用戶帳戶,然后在這里指定,也可以讓 DB2 安裝向?qū)槟鷦?chuàng)建該帳戶。默認(rèn)情況下,向?qū)?chuàng)建一個(gè)名為 DB2admin 的新帳戶(但是可以隨意命名)。DAS 用戶帳戶也必須屬于執(zhí)行安裝的機(jī)器上的 Administrators 組。如果讓 DB2 安裝向?qū)?chuàng)建新的域用戶帳戶,用于執(zhí)行安裝的用戶帳戶必須有創(chuàng)建域用戶帳戶的權(quán)限。 安裝向?qū)?chuàng)建該帳戶時(shí)自動(dòng)授予下列用戶權(quán)限: 1、作為操作系統(tǒng)的一部分。 2、調(diào)試程序。 3、創(chuàng)建 token 對象。 4、增加配額。 5、鎖定內(nèi)存頁。 6、作為服務(wù)登錄。 7、代替進(jìn)程級(jí)的 token。 如果創(chuàng)建或指定了不同的帳戶,一定要保證該帳戶具有上述用戶權(quán)限。為了保證正確設(shè)置了這些權(quán)限,打開 Windows 控制面板(Start Settings Control Panel)并雙擊 Administrative Tools 圖標(biāo)。雙擊 Local Security Policy 圖標(biāo)。對于上面列出的每種策略,保證該用戶包含在授權(quán)的用戶和組列表中。提供的口令不正確可能造成 DB2 UDB 啟動(dòng)過程中不能加載某些服務(wù),有可能禁止執(zhí)行特定的操作。 在安裝過程中,還要告訴 DB2 安裝向?qū)褂猛粋€(gè)帳戶(及指定給 DAS 的帳戶)擁有和啟動(dòng)其他所有 DB2 UDB 服務(wù)。為此,一定要選中 “Use the same user name and password for the remaining DB2 UDB services(其他 DB2 UDB 服務(wù)使用同一用戶名和口令)” 復(fù)選框(參見 圖 3)。如果沒有選中該復(fù)選框,向?qū)Ь蜁?huì)提示選擇擁有和啟動(dòng)創(chuàng)建的默認(rèn)實(shí)例的用戶帳戶。其他所有 DB2 UDB 服務(wù)將使用內(nèi)置的 Windows LocalSystem 帳戶啟動(dòng)。 還要保證 DAS 用戶帳戶對環(huán)境中每個(gè) DB2 UDB 系統(tǒng)具有 SYSADM 權(quán)限,這樣在需要的時(shí)候可以啟動(dòng)或停止其他實(shí)例。默認(rèn)情況下,在 Windows 環(huán)境中安裝 DB2 UDB 后,屬于 Administrators 組的任何用戶都具有 SYSADM 權(quán)限。DAS 服務(wù)名稱為 DB2DAS - DB2DAS00。 DB2 UDB 實(shí)例所有者用戶帳戶: 要擁有和啟動(dòng) DB2 UDB 實(shí)例,需要一個(gè)本地或域帳戶。可以在安裝 DB2 UDB 之前創(chuàng)建 DB2 UDB 實(shí)例所有者用戶帳戶,也可以讓 DB2 安裝向?qū)韯?chuàng)建。如果讓 DB2 安裝向?qū)?chuàng)建新的域用戶帳戶,執(zhí)行安裝使用的用戶帳戶必須具有創(chuàng)建域用戶帳戶的權(quán)限。該用戶帳戶也必須是執(zhí)行安裝的機(jī)器上 Administrators 組的成員。DB2 安裝向?qū)?chuàng)建該帳戶時(shí)自動(dòng)授予下列用戶權(quán)限: 作為操作系統(tǒng)的一部分: 調(diào)試程序、創(chuàng)建 token 對象、增加配額、鎖定內(nèi)存頁、作為服務(wù)登錄、代替進(jìn)程級(jí)的 token。 如果創(chuàng)建或指定了不同的帳戶,一定要賦予該帳戶上述用戶權(quán)限。為了保證正確設(shè)置了這些權(quán)限,打開 Windows 控制面板(Start Settings Control Panel)并雙擊 Administrative Tools 圖標(biāo)。雙擊 Local Security Policy 圖標(biāo)。對于上面列出的每種策略,保證該用戶包含在授權(quán)的用戶和組列表中。提供的口令不正確會(huì)造成 DB2 UDB 啟動(dòng)過程中無法加載服務(wù),有可能禁止執(zhí)行特定的動(dòng)作。 在默認(rèn) Windows 安裝中將自動(dòng)創(chuàng)建一個(gè)名為 DB2 的實(shí)例??梢苑謩e使用 DB2icrt 和 DB2idrop 工具程序創(chuàng)建其他實(shí)例或刪除已有的實(shí)例。這些工具放在 DB2PATHsqllibbin 目錄中,其中 DB2PATH 是安裝 DB2 UDB 的位置。運(yùn)行這些工具程序必須使用具有本地 Administrator 權(quán)限的用戶帳戶。如果創(chuàng)建實(shí)例時(shí)通過參數(shù)提供用戶帳戶和口令,那么將使用該帳戶擁有和啟動(dòng)該服務(wù)。如果沒有提供用戶帳戶和口令,則使用 LocalSystem 帳戶。比如,將創(chuàng)建一個(gè)新實(shí)例 devinst,并賦予 LocalSystem 帳戶擁有和啟動(dòng)該實(shí)例進(jìn)程的權(quán)限。修改帳戶信息: 安裝后可以修改與每個(gè) DB2 UDB 服務(wù)關(guān)聯(lián)的用戶帳戶。此外,從 DB2 UDB Version 8.2 開始,可以使用內(nèi)置的 LocalSystem Account(LSA)帳戶啟動(dòng) DB2 UDB 服務(wù)。在使用嚴(yán)格口令策略的系統(tǒng)上,使用 LSA 可能比較有利,因?yàn)?LSA 沒有關(guān)聯(lián)的口令。比如在有些環(huán)境中,要求用戶每兩個(gè)月?lián)Q一次口令,否則其帳戶就會(huì)被暫時(shí)鎖住。這一策略要求修改指定用戶帳戶的口令來啟動(dòng) DB2 UDB 服務(wù)。如果配置成啟動(dòng)某些服務(wù)的用戶帳戶被鎖住,或者用戶帳戶的口令被修改了,但是沒有在服務(wù)啟動(dòng)屬性配置中更新,這些服務(wù)將無法啟動(dòng)。 在將任何 DB2 UDB 服務(wù)從專門的用戶帳戶移交給 LocalSystem 帳戶之前,必須考慮到 LocalSystem 帳戶不能訪問 LAN 共享,因?yàn)椴荒茉谄渌?jì)算機(jī)上驗(yàn)證身份。因此必須保證 DB2 UDB 系統(tǒng)不使用其他機(jī)器上的任何文件資源。 在 LocalSystem Account(LSA)上下文中運(yùn)行的應(yīng)用程序使用本地的 DB2 UDB 隱式連接。如果開發(fā)在該帳戶下運(yùn)行的應(yīng)用程序,必須知道 DB2 UDB 關(guān)于對象模式名以 “SYS” 開頭的限制。如果應(yīng)用程序包含創(chuàng)建 DB2 UDB 對象的語句,應(yīng)該這樣寫:對于靜態(tài) SQL,必須為 QUALIFIER 選項(xiàng)綁定一個(gè)值而不能使用默認(rèn)值。 對于動(dòng)態(tài) SQL,要?jiǎng)?chuàng)建的對象必須顯式地用 DB2 UDB 支持的模式名限制,否則必須將 CURRENT SCHEMA 注冊表變量設(shè)置為某個(gè)模式。 每個(gè)進(jìn)程都有一個(gè)相關(guān)的所有者(用戶名)。關(guān)于與 DB2 UDB 有關(guān)的所有進(jìn)程的說明,請參閱 “Everything You Wanted to Know About DB2 Universal Database Processes”(developerWorks,2003 年 4 月)。 要改變用于啟動(dòng) DB2 UDB 服務(wù)的用戶帳戶,打開 Services 面板(Start Settings Control Panel Administrative Tools Services)。右擊 DB2 UDB 服務(wù)查看其屬性。單擊服務(wù)屬性窗口(圖 5)上方的 Log On 選項(xiàng)卡。在該選項(xiàng)卡中,可以指定服務(wù)啟動(dòng)時(shí)使用的用戶帳戶,或者指定為 LSA。單擊 OK 保存修改,關(guān)閉該服務(wù)的屬性窗口。 一般來說,應(yīng)該使用單獨(dú)的、可標(biāo)識(shí)的用戶帳戶來啟動(dòng) DB2 UDB 服務(wù)。但是,環(huán)境中對用戶帳戶的控制越緊,就越有可能使用已有的用戶帳戶或者 LocalSystem 帳戶啟動(dòng)這些服務(wù)。一旦設(shè)置一個(gè)帳戶來運(yùn)行某項(xiàng)服務(wù),就不能刪除該帳戶,否則與該帳戶相關(guān)的服務(wù)就無法啟動(dòng)。即便使用相同的名稱重新創(chuàng)建該帳戶也不能解 決。在這種情況下,必須像前面所述的那樣手工進(jìn)入服務(wù)面板,重新配置啟動(dòng)該服務(wù)使用的用戶帳戶。 DB2USERS 和 DB2ADMNS 組: 從 DB2 UDB Version 8.2 開始,為 Windows 環(huán)境下的 DB2 UDB 增加了一些安全特性。作為 DB2 UDB 安裝的一部分出現(xiàn)了一個(gè)新的選項(xiàng),即在操作系統(tǒng)中創(chuàng)建兩個(gè)新的組:DB2USERS 和 DB2ADMNS。一旦創(chuàng)建了這兩個(gè)組,只有是這些組的成員的用戶帳戶才能訪問系統(tǒng)上的 DB2 UDB 文件(包括命令和 DB2 UDB 創(chuàng)建的用戶數(shù)據(jù)文件)。 可以改變這些組的名稱,但應(yīng)該盡量使用默認(rèn)的名稱。如果和已有的組名沖突,就會(huì)提示修改組名。如果在初始 DB2 UDB 安裝中沒有選擇該選項(xiàng),以后可以運(yùn)行 DB2secv82.exe 程序來啟用。該程序在 DB2PATHSQLLIBBIN 目錄中,其中的 DB2PATH 是安裝 DB2 UDB 的位置。為了最大程度地保護(hù)服務(wù)器,應(yīng)該啟用該選項(xiàng)。 服務(wù)器文件系統(tǒng)中所有的 DB2 UDB 文件夾都要求用戶必須是這兩個(gè)組之一的成員,才能訪問 DB2 UDB 文件夾和文件。 一旦使用 DB2secv82.exe 命令啟用了這種額外的安全特性,有兩種辦法可以取消: 立即再次運(yùn)行 DB2secv82.exe 命令,不對系統(tǒng)做任何改變。如果已經(jīng)對系統(tǒng)做了任何改變,只能使用下面的方法。 將 EVERYONE 組添加到 DB2ADMNS 和 DB2USERS 組: 如果啟用擴(kuò)展安全特性,DB2 UDB 注冊表變量 DB2_EXTSECURITY 將設(shè)置為 YES。這就告訴 DB2 UDB 需要進(jìn)行附加的安全檢查。如果創(chuàng)建 DB2ADMNS 和 DB2USERS 組后將 DB2_EXTSECURITY 的值改為 NO,文件和文件夾的訪問權(quán)限仍然屬于這兩個(gè)組,但是 DB2 UDB 將不執(zhí)行額外的安全檢查。 Linux 和 Unix 操作系統(tǒng)上需要的用戶和組帳戶 NIS/NIS+ 的問題: 如果環(huán)境中使用了 NIS/NIS+ 或者類似的安全軟件,必須在安裝 DB2 UDB 之前 手工創(chuàng)建需要的 DB2 UDB 用戶和組帳戶。安裝之前請參考 DB2 UDB 文檔中的 NIS 主題(請參閱 參考資料)。 在 Linux 和 UNIX 操作系統(tǒng)中,安裝和操作 DB2 UDB 通常需要幾個(gè)用戶和組帳戶: 1、Installation 用戶帳戶 2、DB2 Administration Server(DAS)用戶帳戶 3、DB2 UDB 實(shí)例所有者用戶帳戶 4、DB2 UDB fenced 例程用戶帳戶 默認(rèn)情況下,DB2 安裝向?qū)г?DB2 UDB 服務(wù)器安裝過程中將自動(dòng)創(chuàng)建這些用戶和組帳戶。也可以在安裝過程中指定已有的用戶帳戶。 Installation 用戶帳戶: 必須使用 “root” 帳戶安裝 DB2 UDB。這是具有足夠權(quán)限執(zhí)行安裝的惟一帳戶。實(shí)例所有者用戶帳戶: 在實(shí)例所有者的主目錄中創(chuàng)建 DB2 UDB 實(shí)例。該用戶帳戶控制所有的 DB2 UDB 進(jìn)程,擁有該實(shí)例所含數(shù)據(jù)庫使用的全部文件系統(tǒng)和設(shè)備。在 DB2 UDB 安裝過程中,DB2 UDB 實(shí)例所有者使用的默認(rèn)用戶 ID 是 DB2inst1,默認(rèn)組是 DB2iadm1。如果該用戶名已經(jīng)存在,DB2 安裝向?qū)Ь蜁?huì)在默認(rèn)的名稱后面增加一個(gè) 1-99 的數(shù)字,直到遇到一個(gè)不存在的用戶 ID。比方說,如果安裝新的 DB2 UDB 時(shí)用戶 DB2inst1 和 DB2inst2 已經(jīng)存在,向?qū)Ь蜁?huì)創(chuàng)建用戶 DB2inst3。如果該用戶已經(jīng)存在,向?qū)Ь蜁?huì)繼續(xù)搜索(DB2inst4、DB2inst5 等等),直到發(fā)現(xiàn)可用的用戶。這種命名算法也適用于 fences 用戶帳戶和 DB2 管理服務(wù)器用戶帳戶的創(chuàng)建。 一種好的辦法是將實(shí)例所有者用戶帳戶限制在實(shí)例所有者組中,不在其他任何組中包含它。這樣有助于控制可以修改實(shí)例或者實(shí)例中任何對象的用戶帳戶和組的數(shù)量。 在默認(rèn)的 Linux 或 UNIX 安裝中,可以選擇在安裝過程中創(chuàng)建一個(gè)實(shí)例。也可以在以后使用 DB2icrt 和 DB2idrop 工具程序創(chuàng)建其他實(shí)例或者刪除已有的實(shí)例。這些工具位于 DB2PATH/instance 目錄中,其中 DB2PATH 在 AIX 上代表 /usr/opt/DB2_08_01,在其他基于 Linux 和 UNIX 的系統(tǒng)上代表 /opt/IBM/DB2/V8.1。運(yùn)行這些工具程序必須使用 root 用戶帳戶。在 Linux 和 UNIX 上使用 DB2icrt 工具創(chuàng)建新實(shí)例時(shí),必須指定與該實(shí)例關(guān)聯(lián)的 fenced 用戶帳戶。選擇的實(shí)例名必須映射到將成為實(shí)例所有者的用戶帳戶名。比方說,要把已有的用戶帳戶 prodinst 作為新實(shí)例的所有者,應(yīng)該在 DB2icrt 命令中指定 prodinst 作為實(shí)例名。該實(shí)例將在擁有它的用戶的主目錄中創(chuàng)建。比如,下面的命令創(chuàng)建了一個(gè)新實(shí)例 devinst,它屬于 devinst 用戶帳戶,并使用已有的用戶帳戶 devfenc 作為 fenced 用戶帳戶。DB2 UDB 不支持直接以 root 帳戶作為數(shù)據(jù)庫管理員。應(yīng)該使用 su - 命令切換到數(shù)據(jù)庫管理員(實(shí)例所有者)帳戶。 DB2 Administration Server 用戶帳戶: DB2 Administration Server(DAS)用戶帳戶用于在系統(tǒng)上運(yùn)行 DAS 進(jìn)程。默認(rèn)安裝過程中創(chuàng)建的默認(rèn)用戶 ID 是 dasusr1,默認(rèn)組是 dasadm1。DB2 UDB GUI 工具還使用 DAS 帳戶對本地服務(wù)器實(shí)例和數(shù)據(jù)庫執(zhí)行管理任務(wù)。每臺(tái)機(jī)器上只需要一個(gè) DAS。它可以管理服務(wù)器上定義的所有實(shí)例。DAS 用戶帳戶必須不同于實(shí)例所有者用戶帳戶。 一旦使用該帳戶啟動(dòng) DAS 進(jìn)程,也必須使用該帳戶停止。因此在 Linux 或 UNIX 上,必須使用 su - 命令切換到 DAS 用戶帳戶以便啟動(dòng)和結(jié)束 DAS 進(jìn)程。 fenced 用戶帳戶: fenced 用戶帳戶用于在 DB2 UDB 引擎使用的地址空間(內(nèi)存)之外運(yùn)行用戶定義函數(shù)(UDF)和存儲(chǔ)過程。有時(shí)候,如果一個(gè)過程或函數(shù)不穩(wěn)定或者在測試中,那么應(yīng)該將其定義為 FENCED,這樣就可以在自己的進(jìn)程地址空間中運(yùn)行。這樣,如果該函數(shù)或過程崩潰或者異常終止,也不會(huì)對其他實(shí)例進(jìn)程產(chǎn)生任何影響。為 fenced 用戶創(chuàng)建的默認(rèn)用戶帳戶是 DB2fenc1,默認(rèn)的組是 DB2fadm1。 由于安全的原因,我們建議不要使用實(shí)例所有者帳戶作為 fenced 用戶帳戶。如果不需要這個(gè)層次的安全,比方說是在測試環(huán)境中運(yùn)行,或者不準(zhǔn)備使用 fenced UDF 或存儲(chǔ)過程,可以直接使用實(shí)例所有者帳戶而不必創(chuàng)建其他用戶帳戶。在創(chuàng)建新的實(shí)例時(shí),必須在實(shí)例創(chuàng)建命令中指定 fenced 用戶帳戶(DB2icrt . -u )。 為其他 Linux 和 UNIX 用戶建立 DB2 UDB 環(huán)境: Linux 和 UNIX 環(huán)境在用戶級(jí)上強(qiáng)制實(shí)施高安全策略,與一個(gè)用戶帳戶關(guān)聯(lián)的文件和進(jìn)程不能被其他用戶直接訪問。默認(rèn)情況下,創(chuàng)建新的 DB2 UDB 實(shí)例時(shí),一個(gè)特殊的 DB2 UDB 環(huán)境腳本 DB2profile 也被添加到實(shí)例所有者的系統(tǒng)配置文件中,每次實(shí)例所有者登錄到系統(tǒng)時(shí)都要使用該文件。這些腳本設(shè)置對數(shù)據(jù)庫環(huán)境的訪問,允許實(shí)例所有者執(zhí)行 DB2 UDB 命令。為了讓系統(tǒng)上的其他用戶訪問實(shí)例和 DB2 UDB 環(huán)境,他們也必須運(yùn)行同樣的腳本。一種辦法是 “提供” DB2 UDB 實(shí)例所有者的 .profile 文件(或者該 .profile 文件引用的 DB2profile 文件)。如果使用 Bourne 或 Korn shell ,那么可以編輯目標(biāo)用戶帳戶的 .profile 文件,使該用戶登錄到系統(tǒng)時(shí)自動(dòng)運(yùn)行 DB2profile 腳本。對于 C shell 用戶,可以編輯 .login 文件讓它運(yùn)行 DB2shrc 腳本文件。為了選擇要使用的實(shí)例,請?jiān)?.profile 或 .login 腳本文件中添加下面的語句,或者在用戶需要訪問 DB2 UDB 的終端窗口中發(fā)出該語句(注意需要句點(diǎn)(.)和空格): Bourne 或 Korn shell: . INSTHOME/sqllib/DB2profile C shell: source INSTHOME/sqllib/DB2cshrc 其中 INSTHOME 是要使用的實(shí)例的主目錄。 對于主目錄中有自定義腳本版本的用戶: Bourne 或 Korn shell: . USERHOME/DB2profile C shell: source USERHOME/DB2cshrc,其中 USERHOME 是用戶的主目錄。 如果需要同時(shí)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論