建立Access 數據庫的安全門
一、數據庫設置密碼
對于單機使用的數據庫或者是需要工作組共享的數據庫,僅設置密碼保護較為合適。知道密碼的組成員,都有數據庫的完全操作權限,彼此之間的使用權限沒有什么區別。設置密碼的步驟如下:
啟動Microsoft Access,在彈出的選擇窗口中點取消,不打開任何數據庫。
點擊菜單:文件---打開,在彈出的打開窗口中,選中要打開的數據庫文件。然后在打開按鈕的右側展開箭頭上單擊選定以獨占方式打開,用獨占方式打開選定的數據庫。
在Access窗口菜單上點擊:工具—安全—設置數據庫密碼。在彈出的密碼和驗證輸入框中,輸入密碼,注意區分大小寫,并請記住。然后點擊確定按鈕。
關閉數據庫,退出Access環境,密碼設置完畢。下次再打開此數據庫,就會提示輸入密碼,密碼正確才能打開數據庫。
如要復制數據庫,請不要使用數據庫密碼。如設置了密碼,復制的數據庫將不能同步。數據庫的密碼是和數據庫文件放置在一起,而不是放在工作組信息文件中。
二、數據庫壓縮編碼
為了進一步對數據庫進行加密保護,可以對數據庫進行編碼壓縮。這樣使用其它工具程序或字處理等軟件就無法查看此數據庫的內容。而對用戶在Access下的使用則不影響。編碼的步驟如下:
啟動Microsoft Access,在彈出的選擇窗口中點取消,不打開任何數據庫。
點擊菜單:工具—安全—加密/解密數據庫。
在彈出的數據庫加密/解密窗口中,選取要編碼的數據庫,點擊確定按鈕。
在彈出的數據庫加密后另存為窗口中,在文件名輸入框中輸入編碼后的文件名,點擊保存按鈕。編碼壓縮后的數據庫被另保為另一個文件。
三、用戶級安全機制
使用用戶級的安全機制,可以更靈活更安全的保護數據庫。在這種安全機制下,
在Access關聯的工作組信息文件中建立用戶和工作組帳戶,用來管理用戶;在具體的數據庫中管理對象權限,可以給用戶和工作組分別指定使用權限。用戶要輸入用戶名稱和密碼才能打開數據庫,對數據庫的操作要受擁有權限的限制。
1、工作組信息文件
在Microsoft Access中,用戶和工作組的信息帳戶,是存儲在工作組信息文件中的,即使用工作組信息文件來管理用戶和工作組。而默認的工作組信息文件是:C:Program FilesMicrosoft OfficeOfficeSystem.mdw。
用戶也可以建立自己的工作組信息文件,用來按照自己的需要來劃分和管理用戶和工作組,一般是存放在數據庫所在的工作目錄下的Secured.mdw文件中,當然用戶也可以自己指定文件名和存放位置,但文件的擴展名不可以變。
工作組信息文件與整個Access關聯對應著,在Access運行環境下有效,而不是對應某個數據庫的。每次Access啟動,都要讀取工作組信息文件從而得到用戶和工作組的帳戶信息。默認是讀取默認工作組信息文件System.mdw,但用戶可以指定Access與哪個工作組信息文件關聯:運行工作組信息管理器Wrkgadm.exe,(通常在C:Program FilesMicrosoft OfficeOffice下已經有指向該程序的快捷方式MS Access Workgroup Administrator)可以創建新的工作組信息文件或指定Access聯接某一個工作組信息文件。還可以在啟動Access的時候用命令行啟動參數選項/wrkg <工作組信息文件名>來指定聯接的工作組信息文件。
2、工作組信息文件的管理
啟動MS Access Workgroup Administrator快捷方式,在工作組管理員窗口中,點聯接按鈕可以更改Access啟動時要聯接的工作組信息文件:在彈出的工作組信息文件窗口中指定文件的路徑名稱即可。點創建按鈕,則可以創建一個新的工作組信息文件:在彈出的工作組所有權信息窗口中,輸入工作組名稱、單位、工作組ID三項內容。在工作組信息文件窗口中輸入工作組信息文件數據庫的存放路徑和名稱。這就可以創建新的工作組信息文件,并已經建立了關聯。
工作組ID是工作組唯一的唯一性標識,用于區別于其它的工作組信息文件,必須要保存好,必要時可以憑此重建文件。
在Access下,點擊菜單:工具—安全—用戶級安全性向導,選中新建工作組信息文件,也可以建立新的工作組信息文件。
3、安全機制
在用戶級安全機制下,每個用戶有用戶名稱、個人標識(PID)、根據名稱和PID用加密算法產生的唯一安全標識(SID)、密碼;每個工作組有唯一的工作組名稱、個人標識(PID)、安全標識(SID),組沒有密碼,也不能用組名登錄。
用戶和組的個人標識(PID)是唯一的,由4~20個字符組成,區分大小寫。用戶和組的安全標識SID(Security ID),是由名稱和PID用加密算法產生的,唯一性的。
在工作組信息文件中(實際是特殊的Access數據庫),表MsysAccounts中保存用戶和組的名稱、SID、密碼信息,用戶和組的SID和用戶的密碼,是用二進制保存的。在表MsysGroups中,存儲工作組SID和用戶SID之間的對照關系,以此判斷用戶屬于哪個組。這兩個表都是隱藏系統表。
用戶和組,對于數據庫機器各對象之間的對應操作權限關系,并不保存在工作組信息文件中,而是存放在數據庫文件中,是因數據庫而異的。在Access數據庫(.mdb)文件中,有一個隱藏系統表MSysACEs,其中存放著用戶和組的SID以及與之對應的數據庫各對象的標識ID,還有操作權限信息。以此表示用戶和組與數據庫對象之間的對應和操作權限關系。
在用戶打開數據庫時,Microsoft Access根據用戶輸入的用戶名稱和密碼,在工作組信息文件的MsysAccounts表中查找該用戶的SID,若未找到則提示帳戶無效并讓重新輸入;若找到了用戶的SID,則在MsysGroups表中查找到用戶所屬組的SID。根據找到的用戶和組的SID,再去數據庫(.mdb)的MSysACEs表中查找對應的數據庫對象ID和其權限信息,由此可以確定用戶和組可以訪問什么數據庫對象及有什么操作權限。
4、用戶與工作組
在默認的工作組信息文件System.mdw中,默認的有三個帳戶:Admin、Creator、Engine,其中Creator和Engine是Microsoft Jet數據庫引擎內建的,用戶無法干涉。管理員帳戶Admin,則是唯一的默認帳戶,擁有對數據庫中所有對象的全部權限,在中文Access中,帳戶名可以是“管理員”也可以是英文下的Admin。
在默認的工作組信息文件中,默認設置了兩個工作組:管理員組和用戶組。
在默認狀態下,用戶啟動Access時使用的是Admin帳戶,且無須輸入用戶名稱和密碼,因為其名稱Admin默認,而初始密碼為空。若:用此默認方式啟動Access,然后點擊菜單工具—安全—用戶與組帳號,在用戶與組帳號窗口中,選更改登錄密碼選項卡,在舊密碼輸入框中空著,新密碼、驗證輸入框中填入新密碼,就可以增設了管理員帳號的新密碼。如果不是默認登錄方式進入的,只須在舊密碼輸入框中填入舊密碼,就可以更改密碼。對于其它的用戶,也可以同樣的更改自己的密碼。設置了密碼后,再啟動Access打開數據庫,就會要求輸入用戶帳號了。
管理員帳號的SID,對于所有的工作組信息文件都是一樣的,這意味著:無論是用哪一個工作組信息文件關聯到Access啟動系統,都可以使用管理員帳號去訪問所有本機的Access數據庫。
創建對象的用戶,是該對象的所有者,擁有全部權限。即使被管理員撤消了權限,也可以進入用戶與組權限對話框,給自己指定權限。管理員不能永久徹底撤消對象所有者的權限,但是可以改變對象的所有者。所以管理員除了要控制好權限外,還要適時的改變對象的所有者,才能保證安全。
5、用戶與工作組的管理與權限
設置工作組,是為了分配和管理權限的方便,可以將用戶劃分分配到工作組,然后對工作組授予權限,而不用一個個的對用戶授權。默認的管理員組和用戶組,一般就已經可以滿足使用了,默認都擁有全部權限。管理員組的SID對所有的工作組信息文件都相同,而用戶組的SID對所有工作組信息文件都不同。所有用戶都屬于用戶組。
管理員擁有全部的權限,而用戶的權限最好是來自于用戶組而不是單獨授權。為了安全,不應該讓用戶組擁有全部權限。
對用戶和組的管理,可以按如下步驟:
啟動Access,必須用管理員的帳號登錄。
打開要管理的數據庫。
點擊菜單:工具—安全—用戶與組帳號,進入用戶與組的管理窗口,在其中可以新建用戶、新建組、分配用戶到某個組、更改登錄密碼、刪除用戶、刪除組、清除用戶密碼等。
點擊菜單:工具—安全—用戶與組的權限,進入用戶與組權限管理窗口,在其中可以設置每個用戶、對什么對象、有什么操作權限,還可以更改對象的所有者。在用戶、組、對象類型的選擇中可以切換設置設置方式。
為了更徹底的安全,可以單獨建立一個管理員帳號,授予全部權限,而將默認的管理員帳號刪除(從管理員組移出,不能徹底刪除)。然后刪除管理員和用戶組的全部權限。將所有對象的所有者該為新建的管理員帳號。這樣可以保證只有新建的管理員帳號才能訪問數據庫。
撤消用戶級安全性:將管理員歸屬于管理員組,密碼為空;將數據庫所有對象的所有權限分配給用戶組;將全部對象的所有權歸屬于管理員。
6、用戶級安全性向導
可以利用用戶級安全性向導來建立數據庫的用戶級安全性。在運行向導之前先將數據庫備份以防萬一。從菜單:工具—安全—設置安全機制向導,可以啟動向導。按照提示進行設置操作,可以設置好組、用戶、權限等各種安全性。
四、用.MDE文件保護數據庫
MDE是一種經過編譯的特殊形式的數據庫,這種格式下,大多數對象只能執行而不能修改。也不能進行對象的導入和導出。
點擊工具—數據庫實用工具—生成>MDE文件,可以進入保存窗口。
指定好原始的數據庫位置和名稱,指定要保存的MDE文件的位置和名稱,點擊保存即可完成。
Access數據庫的安全性,從根本上來說不如SQL Server一類的服務器級別數據庫那么完善。但是對于桌面上的數據庫管理應用來說,這些安全保密性能已經可以滿足使用要求了。
關鍵字:Access、數據庫、服務器
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解