ACCESS數(shù)據(jù)庫的安全系統(tǒng)
來源:程序員人生 發(fā)布時(shí)間:2014-04-17 01:20:00 閱讀次數(shù):2794次
Access是MicroSoft公司始于年發(fā)表的微機(jī)數(shù)據(jù)庫管理系統(tǒng)作為一種功能強(qiáng)大的MIS系統(tǒng)開發(fā)工具它具有界面友好易學(xué)易用開發(fā)簡單接口靈活等特點(diǎn)是一個(gè)典型的新一代數(shù)據(jù)管理和信息系統(tǒng)開發(fā)工具與Microsoft的其他數(shù)據(jù)庫產(chǎn)品如FOXPRO等相比Access具有較獨(dú)特的優(yōu)勢提供了更強(qiáng)大的數(shù)據(jù)組織用戶管理安全檢查等功能在一個(gè)工作組級(jí)別的網(wǎng)絡(luò)環(huán)境中使用Access開發(fā)的多用戶數(shù)據(jù)庫管理系統(tǒng)具有傳統(tǒng)的XBASE數(shù)據(jù)庫系統(tǒng)所無法比擬的客戶服務(wù)器(Cient/Server)結(jié)構(gòu)和相應(yīng)的數(shù)據(jù)庫安全機(jī)制本文擬就Access數(shù)據(jù)庫系統(tǒng)的網(wǎng)絡(luò)應(yīng)用及安全機(jī)制做較深入的探討
建立Access的安全系統(tǒng)
創(chuàng)建Access工作組
一個(gè)Access工作組定義為一組用戶他們共享一個(gè)或多個(gè)Access應(yīng)用程序并且在他們的Access副本中附加公共的
SYSTEMMDA庫由Access的系統(tǒng)管理員(Admin用戶)來給這些用戶授予對(duì)數(shù)據(jù)庫系統(tǒng)的相應(yīng)的操作權(quán)限這樣不同的用戶就能以不同的權(quán)限訪問相關(guān)的數(shù)據(jù)庫資源而在XBASE系統(tǒng)中要實(shí)現(xiàn)這樣的功能需要數(shù)據(jù)庫開發(fā)人員在編程中實(shí)施控制且不十分完善
Access提供了一個(gè)新的應(yīng)用程序MicrosoftAccessWorkgroupAdministrator它能自動(dòng)完成Access工作組的創(chuàng)建工作對(duì)一個(gè)工作組而言Access系統(tǒng)管理員需要用這個(gè)程序創(chuàng)建一個(gè)新的SYSTEMMDA(或用其他任意的文件名:*MDA)庫并把工作組中的每個(gè)用戶的Access指向這個(gè)新的SYSTEMMDA可以這樣理解一個(gè)系統(tǒng)數(shù)據(jù)庫*MDA對(duì)應(yīng)一個(gè)工作組
創(chuàng)建工作組中的Access帳戶
Access帳戶包括Access組與Access用戶一個(gè)Access組由一個(gè)或多個(gè)Access用戶成員構(gòu)成在Access的安裝過程中Access自動(dòng)默認(rèn)建立了兩個(gè)用戶組(Admins與Users)和一個(gè)用戶(Admin)這兩個(gè)用戶組與ADMIN用戶是不允許刪除的以Admins用戶組中的用戶(如:Admin)登錄(LOGON)進(jìn)入Access后可以創(chuàng)建新的Access組與用戶并將新用戶放置到相應(yīng)的組中
Admins組是Access的管理員組缺省時(shí)只包括Admin用戶該組中的用戶默認(rèn)對(duì)數(shù)據(jù)庫具有全權(quán)并且可以管理其他的用戶和用戶組Users組是Access的缺省用戶組每個(gè)用戶包括Admin及新建用戶都屬于該組缺省時(shí)Users組中的用戶對(duì)數(shù)據(jù)庫也具有全權(quán)
設(shè)置Admin用戶的登錄口令
Admin用戶的登錄口令是整個(gè)數(shù)據(jù)庫系統(tǒng)的安全入口為什么這樣說呢?因?yàn)槿绻麤]有Admin登錄口令所有用戶的Access副本均以Admin用戶的身份登錄數(shù)據(jù)庫而不是以Access管理員所創(chuàng)建的用戶名進(jìn)行登錄只有設(shè)置了Admin的登錄口令Access才啟動(dòng)它的安全系統(tǒng)這也就是為什么無法刪除Admin用戶的原因!!page>
分配數(shù)據(jù)庫權(quán)限
數(shù)據(jù)庫權(quán)限是針對(duì)某個(gè)具體的數(shù)據(jù)庫而言的Access系統(tǒng)管理員(Admins組中的一個(gè)用戶)在打開一個(gè)需要工作組共享的數(shù)據(jù)庫之后就可以根據(jù)具體情況對(duì)工作組中的Access組與Access用戶進(jìn)行權(quán)限的分配了不同的Access數(shù)據(jù)庫對(duì)象具有不同的權(quán)限集合Access的數(shù)據(jù)庫對(duì)象包括六種分別是表查詢表單報(bào)表宏和模塊必須分別予以授權(quán)對(duì)Access組的授權(quán)適用于該組中的每一個(gè)用戶
在這里需要強(qiáng)調(diào)指出的是必須首先屏蔽Users組對(duì)數(shù)據(jù)庫的所有權(quán)限前面講過所有Access用戶都屬于Users組而Users組缺省是對(duì)數(shù)據(jù)庫對(duì)象是具有全權(quán)的所以在做具體數(shù)據(jù)庫的權(quán)限之前必須首先將它的所有權(quán)限屏蔽掉我們不理解為什么微軟要給Users組對(duì)數(shù)據(jù)庫的全部許可權(quán)從工作實(shí)踐中我們認(rèn)為這是一個(gè)錯(cuò)誤它毫無意義的增加了Access管理員的工作強(qiáng)度與難度(因?yàn)榻?jīng)常會(huì)有忘記屏蔽Users組權(quán)限而使整個(gè)安全系統(tǒng)形同虛設(shè)的事情發(fā)生)我們認(rèn)為Users組對(duì)數(shù)據(jù)庫對(duì)象應(yīng)缺省為具有最低的權(quán)限這樣是最有效的和安全的
至此整個(gè)Access數(shù)據(jù)庫系統(tǒng)的安全機(jī)制已基本建立起來了但是這樣的數(shù)據(jù)庫系統(tǒng)就是真正安全的嗎?還不是因?yàn)锳ccess安全系統(tǒng)本身有一個(gè)很大的漏洞如果不設(shè)法堵住這個(gè)漏洞在某些情況下Access系統(tǒng)管理員精心建立起來的安全系統(tǒng)將變得毫無意義下面我們將具體討論Access安全系統(tǒng)漏洞產(chǎn)生的原因以及相應(yīng)的解決辦法
消除Access的安全漏洞
由Admin用戶引發(fā)的安全漏洞
為什么Access系統(tǒng)存在安全漏洞呢?這要從Admin用戶說起我們知道Admin用戶是Access系統(tǒng)的缺省用戶也就是說除非你的Access系統(tǒng)在安裝后已經(jīng)重新鏈接到了某個(gè)新的工作組安全系統(tǒng)上你將以默認(rèn)的Admin用戶登錄Access而微軟將其用于標(biāo)記該Admin帳戶的用戶ID號(hào)設(shè)成了一個(gè)固定值這就意味著全世界的Access系統(tǒng)的Admin用戶在Access中都是同一個(gè)用戶這樣問題就出現(xiàn)了如果一個(gè)未鏈入你的工作組安全系統(tǒng)的用戶在網(wǎng)絡(luò)文件系統(tǒng)級(jí)別上可以獲得對(duì)你的數(shù)據(jù)庫系統(tǒng)文件的Admin權(quán)他將以Admin用戶的身份擁有對(duì)該數(shù)據(jù)庫系統(tǒng)的所有權(quán)利!由Access本身建立起來的第二級(jí)安全機(jī)制將不起任何作用這種情況實(shí)在太容易發(fā)生工作組用戶只要在他的計(jì)算機(jī)上重新安裝一次Access軟件他將會(huì)輕而
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)