论坛登陆  注册 文章专区 投稿文章 旧版浏览 
首页 | 页界资讯 | 安全动态 | 网络应用 | 组网技术 | 软件应用 | 工具软件 | 网管知识 | 帮助
文学 | 操作系统 | 注 册 表 | 编程语言 | 数 据 库 | 服 务 器 | 网页设计 | 图形图象 | VIP
论坛 | 网络安全 | 安全防范 | 黑客技术 | 硬件学堂 | 路由技术 | 搜索研究 | 站长经验 | 投稿
专题 | 教育频道 | 特色专题 | 精文荟萃 | 聊天通讯 | 网络文学 | 书籍下载 | 广告服务 | 旧版
设为首页 加入收藏
当前位置:首页>>文章>>数据库>>Access>>正文

ACCESS数据库的安全系统

Www.Xker.Com 作者:不详  来源:网络转载  加入日期:2005-11-1 9:15:19

    Access是MicroSoft公司始于1994年发表的微机数据库管理系统。作为一种功能强大的MIS系统开发工具,它具有界面友好,易学易用,开发简单,接口灵活等特点,是一个典型的新一代数据管理和信息系统开发工具。与Microsoft的其他数据库产品如FOXPRO等相比,Access具有较独特的优势-提供了更强大的数据组织,用户管理,安全检查等功能。在一个工作组级别的网络环境中,使用Access开发的多用户数据库管理系统具有传统的XBASE数据库系统所无法比拟的客户服务器(Cient/Server)结构和相应的数据库安全机制。本文拟就Access数据库系统的网络应用及安全机制做较深入的探讨。

建立Access的安全系统

1.创建Access工作组

 一个Access工作组定义为一组用户,他们共享一个或多个Access应用程序,并且在他们的Access副本中附加公共的

 SYSTEM.MDA库。由Access的系统管理员(Admin用户)来给这些用户授予对数据库系统的相应的操作权限,这样,不同的用户就能以不同的权限访问相关的数据库资源,而在XBASE系统中,要实现这样的功能需要数据库开发人员在编程中实施控制,且不十分完善。

 Access提供了一个新的应用程序MicrosoftAccessWorkgroupAdministrator,它能自动完成Access工作组的创建工作。对一个工作组而言,Access系统管理员需要用这个程序创建一个新的SYSTEM.MDA(或用其他任意的文件名:*.MDA)库,并把工作组中的每个用户的Access指向这个新的SYSTEM.MDA。可以这样理解,一个系统数据库*.MDA对应一个工作组。

2.创建工作组中的Access帐户

 Access帐户包括Access组与Access用户。一个Access组由一个或多个Access用户成员构成。在Access的安装过程中,Access自动默认建立了两个用户组(Admins与Users)和一个用户(Admin),这两个用户组与ADMIN用户是不允许删除的。以Admins用户组中的用户(如:Admin)登录(LOGON)进入Access后,可以创建新的Access组与用户,并将新用户放置到相应的组中。

 Admins组是Access的管理员组,缺省时只包括Admin用户,该组中的用户默认对数据库具有全权,并且可以管理其他的用户和用户组。Users组是Access的缺省用户组,每个用户,包括Admin及新建用户都属于该组,缺省时,Users组中的用户对数据库也具有全权。

3.设置Admin用户的登录口令

 Admin用户的登录口令是整个数据库系统的安全入口,为什么这样说呢?因为如果没有Admin登录口令,所有用户的Access副本均以Admin用户的身份登录数据库,而不是以Access管理员所创建的用户名进行登录,只有设置了Admin的登录口令,Access才启动它的安全系统,这也就是为什么无法删除Admin用户的原因。

4.分配数据库权限

 数据库权限是针对某个具体的数据库而言的。Access系统管理员(Admins组中的一个用户)在打开一个需要工作组共享的数据库之后,就可以根据具体情况对工作组中的Access组与Access用户进行权限的分配了。不同的Access数据库对象具有不同的权限集合,Access的数据库对象包括六种,分别是表、查询、表单、报表、宏和模块,必须分别予以授权。对Access组的授权适用于该组中的每一个用户。

 在这里需要强调指出的是:必须首先屏蔽Users组对数据库的所有权限,前面讲过,所有Access用户都属于Users组,而Users组缺省是对数据库对象是具有全权的,所以在做具体数据库的权限之前,必须首先将它的所有权限屏蔽掉。我们不理解为什么微软要给Users组对数据库的全部许可权,从工作实践中我们认为这是一个错误,它毫无意义的增加了Access管理员的工作强度与难度(因为经常会有忘记屏蔽Users组权限而使整个安全系统形同虚设的事情发生)。我们认为Users组对数据库对象应缺省为具有最低的权限,这样是最有效的和安全的。

 至此,整个Access数据库系统的安全机制已基本建立起来了。但是,这样的数据库系统就是真正安全的吗?还不是,因为Access安全系统本身有一个很大的漏洞,如果不设法堵住这个漏洞,在某些情况下,Access系统管理员精心建立起来的安全系统将变得毫无意义。下面,我们将具体讨论Access安全系统漏洞产生的原因以及相应的解决办法。

消除Access的安全漏洞

1.由Admin用户引发的安全漏洞

 为什么Access系统存在安全漏洞呢?这要从Admin用户说起。我们知道,Admin用户是Access系统的缺省用户,也就是说,除非你的Access系统在安装后已经重新链接到了某个新的工作组安全系统上,你将以默认的Admin用户登录Access。而微软将其用于标记该Admin帐户的用户ID号设成了一个固定值,这就意味着全世界的Access系统的Admin用户在Access中都是同一个用户。这样,问题就出现了----如果一个未链入你的工作组安全系统的用户在网络文件系统级别上可以获得对你的数据库系统文件的Admin权,他将以Admin用户的身份拥有对该数据库系统的所有权利!由Access本身建立起来的第二级安全机制将不起任何作用.这种情况实在太容易发生----工作组用户只要在他的计算机上重新安装一次Access软件,他将会轻而

 易举地避开你设置的安全系统的防护,而做为默认的admin用户簦录并操作工作组中任何数据库系统。

2.解决方案

 如何解决由Admin用户所引发的安全漏洞呢?在市面上有关Access的参考书籍中很难找出答案。实践中,我们总结出了一套行之有效的解决方案,现提出来供大家参考。

 我们的基本思路就是屏蔽Admin用户对数据库的所有权限,首先,在Admins用户组中增加一个新的与Admin用户等同的新用户,例如为 www",然后以这个新用户登录Access,从Admins用户组将Admin用户撤出,并屏蔽掉Admin用户对数据库的所有权限,这样,Admin用户就成为了一个普通用户,实际的数据库系统管理员则变为新用户(www),而你的数据库安全系统就对所有的用户起安全防护作用了。

结束语

 尽管Access系统存在着某些安全漏洞,但它仍不失为微机平台上一个优秀的数据库管理系统,在工作组级或部门级的数据库应用领域,采用Access开发的数据库系统将会真正实现以往只有用大型数据库管理系统如Oracle等才能开发出的客户/服务器模式的数据库应用程序,同时,经过修正的Access安全系统也会使数据库管理员在数据库的网络安全方面高枕无忧。

 由于国内对Access的应用起步较晚,有关的技术资料也比较缺乏,这在一定程度上制约了Access这样一个优秀的数据库产品的应用,我们希望通过本文能够抛砖引玉,使国内用户能进一步的认识、了解和使用Access,使国内微机平台上出现更多的用Access开发的数据库产品。


关闭窗口】【浏览次数:】【发送给好友】【收藏此页
相关文章 最新文章 热门文章

·保护Access 2000数据库的安全 
·数据库转化的问题
·使ACCESS数据库保持同步 
·浅谈ACCESS数据库升迁SQLSERVER 
· Access 新手来看
·Access 中引用的相对应的名称
·长期使用中型Access数据库的一点经验
·隐藏 Access 窗口
·两个未公开的ACCESS方法的使用技巧
·Delphi中的Access技巧集
·使用Honeypots同Internet蠕虫作斗争
·2005年度主流聊天工具横评
·由神秘到简单 教你在网页中添加微软地
·只需三步!闪盘立刻变成启动盘
·DMA让你的硬盘速度飞起来
·安全防护知识 ——端口扫描技术全攻略
·把USB的门口守好
·连环追击 查杀网页病毒及后遗症排除
·让你的电脑全速运行
·以太网技术大全(1)
评论 本站声明
【注】 发表评论必需遵守以下条例:
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
  • 本站大部分为网络转载,如有版权问题,请通知我们,我们立即更正!

设为首页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyright © 2003-2005 xker.com All rights reserved. 网站合作、广告联系QQ:12231446
小新技术网 冀ICP备05002857号