Access數(shù)據(jù)庫(kù)的安全性比起Sql Server、Oracle等這些數(shù)據(jù)庫(kù)來(lái),要差很多,但是如果我們精心設(shè)計(jì)和設(shè)置的話,它的安全性還是很容易得到保證的,本文從Access本身提供的各種方法進(jìn)行了設(shè)置。
在Office 2000下,Access數(shù)據(jù)庫(kù)的安全機(jī)制已經(jīng)更為完善。除了對(duì)數(shù)據(jù)庫(kù)設(shè)置密碼保護(hù),對(duì)數(shù)據(jù)庫(kù)進(jìn)行編碼壓縮,還可以啟用用戶級(jí)的安全機(jī)制,在用戶級(jí)別上控制對(duì)數(shù)據(jù)庫(kù)的訪問。
一、數(shù)據(jù)庫(kù)設(shè)置密碼
對(duì)于單機(jī)使用的數(shù)據(jù)庫(kù)或者是需要工作組共享的數(shù)據(jù)庫(kù),僅設(shè)置密碼保護(hù)較為合適。知道密碼的組成員,都有數(shù)據(jù)庫(kù)的完全操作權(quán)限,彼此之間的使用權(quán)限沒有什么區(qū)別。設(shè)置密碼的步驟如下:
啟動(dòng)Microsoft Access,在彈出的選擇窗口中點(diǎn)取消,不打開任何數(shù)據(jù)庫(kù)。
點(diǎn)擊菜單:文件---打開,在彈出的打開窗口中,選中要打開的數(shù)據(jù)庫(kù)文件。然后在打開按鈕的右側(cè)展開箭頭上單擊選定以獨(dú)占方式打開,用獨(dú)占方式打開選定的數(shù)據(jù)庫(kù)。
在Access窗口菜單上點(diǎn)擊:工具—安全—設(shè)置數(shù)據(jù)庫(kù)密碼。在彈出的密碼和驗(yàn)證輸入框中,輸入密碼,注意區(qū)分大小寫,并請(qǐng)記住。然后點(diǎn)擊確定按鈕。
關(guān)閉數(shù)據(jù)庫(kù),退出Access環(huán)境,密碼設(shè)置完畢。下次再打開此數(shù)據(jù)庫(kù),就會(huì)提示輸入密碼,密碼正確才能打開數(shù)據(jù)庫(kù)。
如要復(fù)制數(shù)據(jù)庫(kù),請(qǐng)不要使用數(shù)據(jù)庫(kù)密碼。如設(shè)置了密碼,復(fù)制的數(shù)據(jù)庫(kù)將不能同步。數(shù)據(jù)庫(kù)的密碼是和數(shù)據(jù)庫(kù)文件放置在一起,而不是放在工作組信息文件中。
二、數(shù)據(jù)庫(kù)壓縮編碼
為了進(jìn)一步對(duì)數(shù)據(jù)庫(kù)進(jìn)行加密保護(hù),可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行編碼壓縮。這樣使用其它工具程序或字處理等軟件就無(wú)法查看此數(shù)據(jù)庫(kù)的內(nèi)容。而對(duì)用戶在Access下的使用則不影響。編碼的步驟如下:
啟動(dòng)Microsoft Access,在彈出的選擇窗口中點(diǎn)取消,不打開任何數(shù)據(jù)庫(kù)。
點(diǎn)擊菜單:工具—安全—加密/解密數(shù)據(jù)庫(kù)。
在彈出的數(shù)據(jù)庫(kù)加密/解密窗口中,選取要編碼的數(shù)據(jù)庫(kù),點(diǎn)擊確定按鈕。
在彈出的數(shù)據(jù)庫(kù)加密后另存為窗口中,在文件名輸入框中輸入編碼后的文件名,點(diǎn)擊保存按鈕。編碼壓縮后的數(shù)據(jù)庫(kù)被另保為另一個(gè)文件。
三、用戶級(jí)安全機(jī)制
使用用戶級(jí)的安全機(jī)制,可以更靈活更安全的保護(hù)數(shù)據(jù)庫(kù)。在這種安全機(jī)制下,在Access關(guān)聯(lián)的工作組信息文件中建立用戶和工作組帳戶,用來(lái)管理用戶;在具體的數(shù)據(jù)庫(kù)中管理對(duì)象權(quán)限,可以給用戶和工作組分別指定使用權(quán)限。用戶要輸入用戶名稱和密碼才能打開數(shù)據(jù)庫(kù),對(duì)數(shù)據(jù)庫(kù)的操作要受擁有權(quán)限的限制。
1、工作組信息文件
在Microsoft Access中,用戶和工作組的信息帳戶,是存儲(chǔ)在工作組信息文件中的,即使用工作組信息文件來(lái)管理用戶和工作組。而默認(rèn)的工作組信息文件是:C:/Program Files/Microsoft Office/Office/System.mdw。
用戶也可以建立自己的工作組信息文件,用來(lái)按照自己的需要來(lái)劃分和管理用戶和工作組,一般是存放在數(shù)據(jù)庫(kù)所在的工作目錄下的Secured.mdw文件中,當(dāng)然用戶也可以自己指定文件名和存放位置,但文件的擴(kuò)展名不可以變。
工作組信息文件與整個(gè)Access關(guān)聯(lián)對(duì)應(yīng)著,在Access運(yùn)行環(huán)境下有效,而不是對(duì)應(yīng)某個(gè)數(shù)據(jù)庫(kù)的。每次Access啟動(dòng),都要讀取工作組信息文件從而得到用戶和工作組的帳戶信息。默認(rèn)是讀取默認(rèn)工作組信息文件System.mdw,但用戶可以指定Access與哪個(gè)工作組信息文件關(guān)聯(lián):運(yùn)行工作組信息管理器Wrkgadm.exe,(通常在C:/Program Files/Microsoft Office/Office/下已經(jīng)有指向該程序的快捷方式MS Access Workgroup Administrator)可以創(chuàng)建新的工作組信息文件或指定Access聯(lián)接某一個(gè)工作組信息文件。還可以在啟動(dòng)Access的時(shí)候用命令行啟動(dòng)參數(shù)選項(xiàng)/wrkg <工作組信息文件名>來(lái)指定聯(lián)接的工作組信息文件。
2、工作組信息文件的管理
啟動(dòng)MS Access Workgroup Administrator快捷方式,在工作組管理員窗口中,點(diǎn)聯(lián)接按鈕可以更改Access啟動(dòng)時(shí)要聯(lián)接的工作組信息文件:在彈出的工作組信息文件窗口中指定文件的路徑名稱即可。點(diǎn)創(chuàng)建按鈕,則可以創(chuàng)建一個(gè)新的工作組信息文件:在彈出的工作組所有權(quán)信息窗口中,輸入工作組名稱、單位、工作組ID三項(xiàng)內(nèi)容。在工作組信息文件窗口中輸入工作組信息文件數(shù)據(jù)庫(kù)的存放路徑和名稱。這就可以創(chuàng)建新的工作組信息文件,并已經(jīng)建立了關(guān)聯(lián)。
工作組ID是工作組唯一的唯一性標(biāo)識(shí),用于區(qū)別于其它的工作組信息文件,必須要保存好,必要時(shí)可以憑此重建文件。
在Access下,點(diǎn)擊菜單:工具—安全—用戶級(jí)安全性向?qū)Вx中新建工作組信息文件,也可以建立新的工作組信息文件。
3、安全機(jī)制
在用戶級(jí)安全機(jī)制下,每個(gè)用戶有用戶名稱、個(gè)人標(biāo)識(shí)(PID)、根據(jù)名稱和PID用加密算法產(chǎn)生的唯一安全標(biāo)識(shí)(SID)、密碼;每個(gè)工作組有唯一的工作組名稱、個(gè)人標(biāo)識(shí)(PID)、安全標(biāo)識(shí)(SID),組沒有密碼,也不能用組名登錄。
用戶和組的個(gè)人標(biāo)識(shí)(PID)是唯一的,由4~20個(gè)字符組成,區(qū)分大小寫。用戶和組的安全標(biāo)識(shí)SID(Security ID),是由名稱和PID用加密算法產(chǎn)生的,唯一性的。
在工作組信息文件中(實(shí)際是特殊的Access數(shù)據(jù)庫(kù)),表MsysAccounts中保存用戶和組的名稱、SID、密碼信息,用戶和組的SID和用戶的密碼,是用二進(jìn)制保存的。在表MsysGroups中,存儲(chǔ)工作組SID和用戶SID之間的對(duì)照關(guān)系,以此判斷用戶屬于哪個(gè)組。這兩個(gè)表都是隱藏系統(tǒng)表。
用戶和組,對(duì)于數(shù)據(jù)庫(kù)機(jī)器各對(duì)象之間的對(duì)應(yīng)操作權(quán)限關(guān)系,并不保存在工作組信息文件中,而是存放在數(shù)據(jù)庫(kù)文件中,是因數(shù)據(jù)庫(kù)而異的。在Access數(shù)據(jù)庫(kù)(.mdb)文件中,有一個(gè)隱藏系統(tǒng)表MSysACEs,其中存放著用戶和組的SID以及與之對(duì)應(yīng)的數(shù)據(jù)庫(kù)各對(duì)象的標(biāo)識(shí)ID,還有操作權(quán)限信息。以此表示用戶和組與數(shù)據(jù)庫(kù)對(duì)象之間的對(duì)應(yīng)和操作權(quán)限關(guān)系。
在用戶打開數(shù)據(jù)庫(kù)時(shí),Microsoft Access根據(jù)用戶輸入的用戶名稱和密碼,在工作組信息文件的MsysAccounts表中查找該用戶的SID,若未找到則提示帳戶無(wú)效并讓重新輸入;若找到了用戶的SID,則在MsysGroups表中查找到用戶所屬組的SID。根據(jù)找到的用戶和組的SID,再去數(shù)據(jù)庫(kù)(.mdb)的MSysACEs表中查找對(duì)應(yīng)的數(shù)據(jù)庫(kù)對(duì)象ID和其權(quán)限信息,由此可以確定用戶和組可以訪問什么數(shù)據(jù)庫(kù)對(duì)象及有什么操作權(quán)限。
新聞熱點(diǎn)
疑難解答
圖片精選