如果您在早期版本的 Access 中創(chuàng)建了一個(gè)數(shù)據(jù)庫(kù),并對(duì)該數(shù)據(jù)庫(kù)應(yīng)用了用戶級(jí)安全機(jī)制,那么當(dāng)您在 Microsoft Access 2010 中打開(kāi)該文件時(shí),這些安全設(shè)置會(huì)保持不變。另外,您還可以從 Access 2010 啟動(dòng) Microsoft Office Access 2003 提供的安全工具,例如“用戶級(jí)安全機(jī)制向?qū)?rdquo;和各種用戶和組權(quán)限對(duì)話框。本文介紹了 Access 2003 安全功能的工作原理,以及如何在 Access 2010 中啟動(dòng)和使用這些功能。本文中的信息只適用于在 Access 2003 或更低版本的 Access 中創(chuàng)建的數(shù)據(jù)庫(kù)(.mdb 文件)。用戶級(jí)安全機(jī)制不能用于在 Access 2010 中創(chuàng)建的數(shù)據(jù)庫(kù)(.accdb 文件)。此外,如果將 .mdb 文件轉(zhuǎn)換為新格式(.accdb 文件),那么 Access 2010 會(huì)丟棄您的用戶級(jí)安全機(jī)制設(shè)置。
[用戶級(jí)安全機(jī)制在 Access 2010 中的工作原理和概述]1、用戶級(jí)安全機(jī)制在 Access 2010 中的工作原理[/page]
1、Access 2010 僅為使用 Access 2003 和早期文件格式的數(shù)據(jù)庫(kù)(.mdb 和 .mde 文件)提供用戶級(jí)安全機(jī)制。在 Access 2010 中,如果您打開(kāi)一個(gè)在較低版本的 Access 中創(chuàng)建的數(shù)據(jù)庫(kù),并且該數(shù)據(jù)庫(kù)應(yīng)用了用戶級(jí)安全機(jī)制,那么該安全功能對(duì)該數(shù)據(jù)庫(kù)仍然有效。例如,用戶必須輸入密碼才能使用該數(shù)據(jù)庫(kù)。另外,您還可以啟動(dòng)和運(yùn)行 Access 2003 和更低版本的 Access 提供的各種安全工具,例如“用戶級(jí)安全機(jī)制向?qū)?rdquo;和各種用戶和組權(quán)限對(duì)話框。在操作過(guò)程中,請(qǐng)記住只有打開(kāi) .mdb 或 .mde 文件時(shí)這些工具才可用。如果將文件轉(zhuǎn)換為 Access 2010 文件格式,那么 Access 會(huì)刪除所有現(xiàn)有的用戶級(jí)安全功能。
2、Access 2003 用戶級(jí)安全機(jī)制概述
以下各部分提供了有關(guān) Access 2003 和更低版本的 Access 中的用戶級(jí)安全機(jī)制的背景信息。如果您已熟悉了以前的安全模型和用戶級(jí)安全機(jī)制,那么可以跳過(guò)這些部分直接轉(zhuǎn)到本文后面的設(shè)置用戶級(jí)安全機(jī)制或刪除用戶級(jí)安全機(jī)制。
用戶級(jí)安全機(jī)制的基本信息
Access 中的用戶級(jí)安全機(jī)制類(lèi)似于基于服務(wù)器的系統(tǒng)上的安全機(jī)制,它使用密碼和權(quán)限來(lái)允許或限制個(gè)人或組對(duì)數(shù)據(jù)庫(kù)中的對(duì)象進(jìn)行訪問(wèn)。在 Access 2003 或更低版本的 Access 中,當(dāng)您在 Access 數(shù)據(jù)庫(kù)中實(shí)施用戶級(jí)安全機(jī)制時(shí),數(shù)據(jù)庫(kù)管理員或?qū)ο笏姓呖梢钥刂茊蝹(gè)用戶或用戶組對(duì)數(shù)據(jù)庫(kù)中的表、查詢(xún)、窗體、報(bào)表和宏執(zhí)行的操作。例如,一組用戶可以更改數(shù)據(jù)庫(kù)中的對(duì)象,另一組只能將數(shù)據(jù)輸入到特定表中,還有一組則只能查看一組報(bào)表中的數(shù)據(jù)。
Access 2003 和更低版本的 Access 中的用戶級(jí)安全機(jī)制使用密碼和權(quán)限的組合,即用來(lái)指定用戶對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)或?qū)ο蟮脑L問(wèn)類(lèi)型的一組屬性。您可以為個(gè)人或組設(shè)置密碼和權(quán)限,然后這些密碼和權(quán)限的組合便會(huì)成為安全帳戶,這些帳戶可以用來(lái)定義允許訪問(wèn)數(shù)據(jù)庫(kù)中對(duì)象的用戶和用戶組。相應(yīng)地,用戶和組的組合稱(chēng)為工作組,Access 會(huì)將該信息存儲(chǔ)在工作組信息文件中。當(dāng) Access 啟動(dòng)時(shí),它會(huì)讀取工作組信息文件并根據(jù)文件中的數(shù)據(jù)來(lái)確定哪些用戶和組具備相應(yīng)權(quán)限。
默認(rèn)情況下,Access 提供一個(gè)內(nèi)置用戶 ID 和兩個(gè)內(nèi)置組。默認(rèn)用戶 ID 為 Admin,默認(rèn)組為 Users 和 Admins。默認(rèn)情況下,Access 會(huì)將內(nèi)置用戶 ID 添加到 Users 組,因?yàn)樗?ID 必須至少屬于一個(gè)組。相應(yīng)地,Users 組對(duì)數(shù)據(jù)庫(kù)中的所有對(duì)象具有完全權(quán)限。另外,Admin ID 還是 Admins 組的成員。Admins 組必須至少包含一個(gè)用戶 ID(必須有一個(gè)數(shù)據(jù)庫(kù)管理員),而且 Admin ID 將一直是默認(rèn)數(shù)據(jù)庫(kù)管理員,直到您對(duì)其進(jìn)行了更改。
啟動(dòng) Access 2003 或更低版本的 Access 時(shí),Access 會(huì)為您分配 Admin 用戶 ID,這樣您就成為了每個(gè)默認(rèn)組的成員。該 ID 和這些組(Admin 和 Users)為所有用戶提供了對(duì)數(shù)據(jù)庫(kù)中所有對(duì)象的完全權(quán)限,這意味著除非您實(shí)施了用戶級(jí)安全機(jī)制,否則任何用戶都可以打開(kāi)、查看和更改所有 .mdb 文件中的所有對(duì)象。
在 Access 2003 或更低版本的 Access 中實(shí)施用戶級(jí)安全機(jī)制的一種方式是:更改 Users 組的權(quán)限并向 Admins 組中添加新管理員。如果執(zhí)行了此操作,Access 會(huì)自動(dòng)將新用戶分配給 Users 組。在執(zhí)行這些步驟之后,用戶必須通過(guò)密碼登錄后才能打開(kāi)受保護(hù)的數(shù)據(jù)庫(kù)。但是,如果需要實(shí)施更為詳細(xì)的安全機(jī)制(例如,允許一組用戶輸入數(shù)據(jù),而只允許另一組用戶讀取該數(shù)據(jù)),則必須創(chuàng)建其他用戶和組,并授予他們對(duì)數(shù)據(jù)庫(kù)中某些或所有對(duì)象的特定權(quán)限。實(shí)施此類(lèi)用戶級(jí)安全機(jī)制是一項(xiàng)復(fù)雜的任務(wù)。為了幫助簡(jiǎn)化此過(guò)程,Access 提供了“用戶級(jí)安全機(jī)制向?qū)?rdquo;,使用該向?qū)Э梢愿p松地通過(guò)一個(gè)步驟創(chuàng)建用戶和組。
“用戶級(jí)安全機(jī)制向?qū)?rdquo;可以幫助您分配權(quán)限以及創(chuàng)建用戶帳戶和組帳戶。用戶帳戶包含用戶名和唯一的個(gè)人 ID 編號(hào) (PID),可用于管理用戶查看、使用或更改 Access 工作組中的數(shù)據(jù)庫(kù)對(duì)象的權(quán)限。組帳戶是用戶帳戶的集合,因此組帳戶位于工作組中。Access 使用組名和 PID 來(lái)標(biāo)識(shí)每個(gè)工作組,而且分配給組的權(quán)限應(yīng)用于組中的所有用戶。有關(guān)使用該向?qū)У脑敿?xì)信息,請(qǐng)參閱本文后面的設(shè)置用戶級(jí)安全機(jī)制。
完成向?qū)Ш螅梢允謩?dòng)分配、修改或刪除工作組中的用戶和組帳戶對(duì)數(shù)據(jù)庫(kù)及其現(xiàn)有表、查詢(xún)、窗體、報(bào)表和宏的權(quán)限。您還可以設(shè)置 Access 為您或其他用戶添加到數(shù)據(jù)庫(kù)中的任何新表、查詢(xún)、窗體、報(bào)表和宏分配的默認(rèn)權(quán)限。
工作組和工作組信息文件
在 Access 2003 和更低版本的 Access 中,工作組是指在多用戶環(huán)境中共享數(shù)據(jù)的一組用戶。工作組信息文件包含為每個(gè)用戶或用戶組設(shè)置的用戶和組帳戶、密碼和權(quán)限。當(dāng)打開(kāi)數(shù)據(jù)庫(kù)時(shí),Access 會(huì)讀取工作組信息文件中的數(shù)據(jù)并實(shí)施該文件中包含的安全設(shè)置。相應(yīng)地,用戶帳戶是指 Access 為管理用戶權(quán)限而創(chuàng)建的用戶名和個(gè)人 ID (PID) 的組合。組帳戶是用戶帳戶的集合,Access 還通過(guò)組名和個(gè)人 ID (PID) 來(lái)標(biāo)識(shí)這些集合。分配給組的權(quán)限適用于組中的所有用戶。然后,可以為這些安全帳戶分配數(shù)據(jù)庫(kù)及其表、查詢(xún)、窗體、報(bào)表和宏的權(quán)限。權(quán)限本身存儲(chǔ)在啟用了安全機(jī)制的數(shù)據(jù)庫(kù)中。
當(dāng)用戶首次運(yùn)行 Access 2003 或更低版本的 Access 時(shí),Access 會(huì)自動(dòng)創(chuàng)建 Access 工作組信息文件,該文件通過(guò)用戶在安裝 Access 時(shí)指定的名稱(chēng)和組織信息來(lái)標(biāo)識(shí)。對(duì)于 Access 2003,安裝程序?qū)⒋斯ぷ鹘M信息文件的相對(duì)位置添加到以下注冊(cè)表項(xiàng):
HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Access\Jet\4.0\Engines\SystemDB
和
HKEY_USERS\.DEFAULT\Software\Microsoft\Office\11.0\Access\Jet\4.0\Engines\SystemDB
以后的用戶將從 HKEY_USERS 注冊(cè)表項(xiàng)中的值繼承默認(rèn)的工作組文件路徑。因?yàn)檫@一信息通常很容易確定,所以未經(jīng)授權(quán)的用戶也可以創(chuàng)建該工作組信息文件的另一個(gè)版本。因此,這些用戶可能會(huì)在工作組信息文件定義的工作組中獲得不可撤銷(xiāo)的管理員帳戶(Admins 組中的成員)權(quán)限。為防止未經(jīng)授權(quán)的用戶獲取這些權(quán)限,應(yīng)創(chuàng)建一個(gè)新的工作組信息文件,并指定一個(gè)工作組 ID (WID),即由 4 到 20 個(gè)區(qū)分大小寫(xiě)的字母數(shù)字組成的字符串,創(chuàng)建新工作組信息文件時(shí)必須輸入該字符串。創(chuàng)建新的工作組可以唯一標(biāo)識(shí)該工作組文件的 Admin 組。只有知道 WID 的用戶才能創(chuàng)建工作組信息文件的副本。要?jiǎng)?chuàng)建新的文件,可以使用“工作組管理員”工具。
除非用戶通過(guò)使用“工作組管理員”工具加入了另一個(gè)工作組,否則您創(chuàng)建的任何用戶和組帳戶或密碼都會(huì)保存在該工作組信息文件中。
要點(diǎn) 請(qǐng)務(wù)必寫(xiě)下準(zhǔn)確的名稱(chēng)、組織和工作組 ID(包括這三個(gè)條目中的字母是大寫(xiě)還是小寫(xiě)),并將它們保存在安全的位置。在必須重新創(chuàng)建該工作組信息文件時(shí),您必須提供完全相同的名稱(chēng)、組織和工作組 ID。如果您忘記或丟失了這些條目,可能無(wú)法訪問(wèn)您的數(shù)據(jù)庫(kù)。