建立Access 數(shù)據(jù)庫的安全門 |
作者:郁郁小蝎 來源:中國站長學(xué)院 閱讀 1561 人次 , 2006-2-15 17:37:00 |
|
一、數(shù)據(jù)庫設(shè)置密碼 對于單機使用的數(shù)據(jù)庫或者是需要工作組共享的數(shù)據(jù)庫,僅設(shè)置密碼保護較為合適。知道密碼的組成員,都有數(shù)據(jù)庫的完全操作權(quán)限,彼此之間的使用權(quán)限沒有什么區(qū)別。設(shè)置密碼的步驟如下: 啟動Microsoft Access,在彈出的選擇窗口中點取消,不打開任何數(shù)據(jù)庫。 點擊菜單:文件---打開,在彈出的打開窗口中,選中要打開的數(shù)據(jù)庫文件。然后在打開按鈕的右側(cè)展開箭頭上單擊選定以獨占方式打開,用獨占方式打開選定的數(shù)據(jù)庫。 在Access窗口菜單上點擊:工具—安全—設(shè)置數(shù)據(jù)庫密碼。在彈出的密碼和驗證輸入框中,輸入密碼,注意區(qū)分大小 寫,并請記住。然后點擊確定按鈕。 關(guān)閉數(shù)據(jù)庫,退出Access環(huán)境,密碼設(shè)置完畢。下次再打開此數(shù)據(jù)庫,就會提示輸入密碼,密碼正確才能打開數(shù)據(jù)庫。 如要復(fù)制數(shù)據(jù)庫,請不要使用數(shù)據(jù)庫密碼。如設(shè)置了密碼,復(fù)制的數(shù)據(jù)庫將不能同步。數(shù)據(jù)庫的密碼是和數(shù)據(jù)庫文件放置在一起,而不是放在工作組信息文件中。 二、數(shù)據(jù)庫壓縮編碼 為了進一步對數(shù)據(jù)庫進行加密保護,可以對數(shù)據(jù)庫進行編碼壓縮。這樣使用其它工具程序或字處理等軟件就無法查看此數(shù)據(jù)庫的內(nèi)容。而對用戶在Access下的使用則不影響。編碼的步驟如下: 啟動Microsoft Access,在彈出的選擇窗口中點取消,不打開任何數(shù)據(jù)庫。 點擊菜單:工具—安全—加密/解密數(shù)據(jù)庫。 在彈出的數(shù)據(jù)庫加密/解密窗口中,選取要編碼的數(shù)據(jù)庫,點擊確定按鈕。 在彈出的數(shù)據(jù)庫加密后另存為窗口中,在文件名輸入框中輸入編碼后的文件名,點擊保存按鈕。編碼壓縮后的數(shù)據(jù)庫被另保為另一個文件。 三、用戶級安全機制 使用用戶級的安全機制,可以更靈活更安全的保護數(shù)據(jù)庫。在這種安全機制下, 在Access關(guān)聯(lián)的工作組信息文件中建立用戶和工作組帳戶,用來管理用戶;在具體的數(shù)據(jù)庫中管理對象權(quán)限,可以給用戶和工作組分別指定使用權(quán)限。用戶要輸入用戶名稱和密碼才能打開數(shù)據(jù)庫,對數(shù)據(jù)庫的操作要受擁有權(quán)限的限制。 1、工作組信息文件 在Microsoft Access中,用戶和工作組的信息帳戶,是存儲在工作組信息文件中的,即使用工作組信息文件來管理用戶和工作組。而默認的工作組信息文件是:C:Program FilesMicrosoft OfficeOfficeSystem.mdw。 用戶也可以建立自己的工作組信息文件,用來按照自己的需要來劃分和管理用戶和工作組,一般是存放在數(shù)據(jù)庫所在的工作目錄下的Secured.mdw文件中,當(dāng)然用戶也可以自己指定文件名和存放位置,但文件的擴展名不可以變。 工作組信息文件與整個Access關(guān)聯(lián)對應(yīng)著,在Access運行環(huán)境下有效,而不是對應(yīng)某個數(shù)據(jù)庫的。每次Access啟動,都要讀取工作組信息文件從而得到用戶和工作組的帳戶信息。默認是讀取默認工作組信息文件System.mdw,但用戶可以指定Access與哪個工作組信息文件關(guān)聯(lián):運行工作組信息管理器Wrkgadm.exe,(通常在C:Program FilesMicrosoft OfficeOffice下已經(jīng)有指向該程序的快捷方式MS Access Workgroup Administrator)可以創(chuàng)建新的工作組信息文件或指定Access聯(lián)接某一個工作組信息文件。還可以在啟動Access的時候用命令行啟動參數(shù)選項/wrkg <工作組信息文件名>來指定聯(lián)接的工作組信息文件。 2、工作組信息文件的管理 啟動MS Access Workgroup Administrator快捷方式,在工作組管理員窗口中,點聯(lián)接按鈕可以更改Access啟動時要聯(lián)接的工作組信息文件:在彈出的工作組信息文件窗口中指定文件的路徑名稱即可。點創(chuàng)建按鈕,則可以創(chuàng)建一個新的工作組信息文件:在彈出的工作組所有權(quán)信息窗口中,輸入工作組名稱、單位、工作組ID三項內(nèi)容。在工作組信息文件窗口中輸入工作組信息文件數(shù)據(jù)庫的存放路徑和名稱。這就可以創(chuàng)建新的工作組信息文件,并已經(jīng)建立了關(guān)聯(lián)。 工作組ID是工作組唯一的唯一性標(biāo)識,用于區(qū)別于其它的工作組信息文件,必須要保存好,必要時可以憑此重建文件。 在Access下,點擊菜單:工具—安全—用戶級安全性向?qū)?,選中新建工作組信息文件,也可以建立新的工作組信息文件。 3、安全機制 在用戶級安全機制下,每個用戶有用戶名稱、個人標(biāo)識(PID)、根據(jù)名稱和PID用加密算法產(chǎn)生的唯一安全標(biāo)識(SID)、密碼;每個工作組有唯一的工作組名稱、個人標(biāo)識(PID)、安全標(biāo)識(SID),組沒有密碼,也不能用組名登錄。 用戶和組的個人標(biāo)識(PID)是唯一的,由4~20個字符組成,區(qū)分大小寫。用戶和組的安全標(biāo)識SID(Security ID),是由名稱和PID用加密算法產(chǎn)生的,唯一性的。 在工作組信息文件中(實際是特殊的Access數(shù)據(jù)庫),表MsysAccounts中保存用戶和組的名稱、SID、密碼信息,用戶和組的SID和用戶的密碼,是用二進制保存的。在表MsysGroups中,存儲工作組SID和用戶SID之間的對照關(guān)系,以此判斷用戶屬于哪個組。這兩個表都是隱藏系統(tǒng)表。 用戶和組,對于數(shù)據(jù)庫機器各對象之間的對應(yīng)操作權(quán)限關(guān)系,并不保存在工作組信息文件中,而是存放在數(shù)據(jù)庫文件中,是因數(shù)據(jù)庫而異的。在Access數(shù)據(jù)庫(.mdb)文件中,有一個隱藏系統(tǒng)表MSysACEs,其中存放著用戶和組的SID以及與之對應(yīng)的數(shù)據(jù)庫各對象的標(biāo)識ID,還有操作權(quán)限信息。以此表示用戶和組與數(shù)據(jù)庫對象之間的對應(yīng)和操作權(quán)限關(guān)系。 在用戶打開數(shù)據(jù)庫時,Microsoft Access根據(jù)用戶輸入的用戶名稱和密碼,在工作組信息文件的MsysAccounts表中查找該用戶的SID,若未找到則提示帳戶無效并讓重新輸入;若找到了用戶的SID,則在MsysGroups表中查找到用戶所屬組的SID。根據(jù)找到的用戶和組的SID,再去數(shù)據(jù)庫(.mdb)的MSysACEs表中查找對應(yīng)的數(shù)據(jù)庫對象ID和其權(quán)限信息,由此可以確定用戶和組可以訪問什么數(shù)據(jù)庫對象及有什么操作權(quán)限。 4、用戶與工作組 在默認的工作組信息文件System.mdw中,默認的有三個帳戶:Admin、Creator、Engine,其中Creator和Engine是Microsoft Jet數(shù)據(jù)庫引擎內(nèi)建的,用戶無法干涉。管理員帳戶Admin,則是唯一的默認帳戶,擁有對數(shù)據(jù)庫中所有對象的全部權(quán)限,在中文Access中,帳戶名可以是“管理員”也可以是英文下的Admin。 在默認的工作組信息文件中,默認設(shè)置了兩個工作組:管理員組和用戶組。 在默認狀態(tài)下,用戶啟動Access時使用的是Admin帳戶,且無須輸入用戶名稱和密碼,因為其名稱Admin默認,而初始密碼為空。若:用此默認方式啟動Access,然后點擊菜單工具—安全—用戶與組賬號,在用戶與組賬號窗口中,選更改登錄密碼選項卡,在舊密碼輸入框中空著,新密碼、驗證輸入框中填入新密碼,就可以增設(shè)了管理員賬號的新密碼。如果不是默認登錄方式進入的,只須在舊密碼輸入框中填入舊密碼,就可以更改密碼。對于其它的用戶,也可以同樣的更改自己的密碼。設(shè)置了密碼后,再啟動Access打開數(shù)據(jù)庫,就會要求輸入用戶賬號了。 管理員賬號的SID,對于所有的工作組信息文件都是一樣的,這意味著:無論是用哪一個工作組信息文件關(guān)聯(lián)到Access啟動系統(tǒng),都可以使用管理員賬號去訪問所有本機的Access數(shù)據(jù)庫。 創(chuàng)建對象的用戶,是該對象的所有者,擁有全部權(quán)限。即使被管理員撤消了權(quán)限,也可以進入用戶與組權(quán)限對話框,給自己指定權(quán)限。管理員不能永久徹底撤消對象所有者的權(quán)限,但是可以改變對象的所有者。所以管理員除了要控制好權(quán)限外,還要適時的改變對象的所有者,才能保證安全。 5、用戶與工作組的管理與權(quán)限 設(shè)置工作組,是為了分配和管理權(quán)限的方便,可以將用戶劃分分配到工作組,然后對工作組授予權(quán)限,而不用一個個的對用戶授權(quán)。默認的管理員組和用戶組,一般就已經(jīng)可以滿足使用了,默認都擁有全部權(quán)限。管理員組的SID對所有的工作組信息文件都相同,而用戶組的SID對所有工作組信息文件都不同。所有用戶都屬于用戶組。 管理員擁有全部的權(quán)限,而用戶的權(quán)限最好是來自于用戶組而不是單獨授權(quán)。為了安全,不應(yīng)該讓用戶組擁有全部權(quán)限。 對用戶和組的管理,可以按如下步驟: 啟動Access,必須用管理員的賬號登錄。 打開要管理的數(shù)據(jù)庫。 點擊菜單:工具—安全—用戶與組賬號,進入用戶與組的管理窗口,在其中可以新建用戶、新建組、分配用戶到某個組、更改登錄密碼、刪除用戶、刪除組、清除用戶密碼等。 點擊菜單:工具—安全—用戶與組的權(quán)限,進入用戶與組權(quán)限管理窗口,在其中可以設(shè)置每個用戶、對什么對象、有什么操作權(quán)限,還可以更改對象的所有者。在用戶、組、對象類型的選擇中可以切換設(shè)置設(shè)置方式。 為了更徹底的安全,可以單獨建立一個管理員賬號,授予全部權(quán)限,而將默認的管理員賬號刪除(從管理員組移出,不能徹底刪除)。然后刪除管理員和用戶組的全部權(quán)限。將所有對象的所有者該為新建的管理員賬號。這樣可以保證只有新建的管理員賬號才能訪問數(shù)據(jù)庫。 撤消用戶級安全性:將管理員歸屬于管理員組,密碼為空;將數(shù)據(jù)庫所有對象的所有權(quán)限分配給用戶組;將全部對象的所有權(quán)歸屬于管理員。 6、用戶級安全性向?qū)?/p> 可以利用用戶級安全性向?qū)斫?shù)據(jù)庫的用戶級安全性。在運行向?qū)е跋葘?shù)據(jù)庫備份以防萬一。從菜單:工具—安全—設(shè)置安全機制向?qū)В梢詥酉驅(qū)?。按照提示進行設(shè)置操作,可以設(shè)置好組、用戶、權(quán)限等各種安全性。 四、用.MDE文件保護數(shù)據(jù)庫 MDE是一種經(jīng)過編譯的特殊形式的數(shù)據(jù)庫,這種格式下,大多數(shù)對象只能執(zhí)行而不能修改。也不能進行對象的導(dǎo)入和導(dǎo)出。 點擊工具—數(shù)據(jù)庫實用工具—生成>MDE文件,可以進入保存窗口。 指定好原始的數(shù)據(jù)庫位置和名稱,指定要保存的MDE文件的位置和名稱,點擊保存即可完成。 Access數(shù)據(jù)庫的安全性,從根本上來說不如SQL Server一類的服務(wù)器級別數(shù)據(jù)庫那么完善。但是對于桌面上的數(shù)據(jù)庫管理應(yīng)用來說,這些安全保密性能已經(jīng)可以滿足使用要求了。 |