首页 数据库 mysql教程 ACCESS数据库的安全系统的几点看法

ACCESS数据库的安全系统的几点看法

Jun 07, 2016 pm 03:16 PM
access 安全 数据库 看法 系统

Access是MicroSoft公司始于1994年发表的微机数据库管理系统。作为一种功能强大的MIS系统开发工具,它具有界面友好,易学易用,开发简单,接口灵活等特点,是一个典型的新一代数据管理和信息系统开发工具。与Microsoft的其他数据库产品如FOXPRO等相比,Access

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数据库系统的安全机制已基本建立起来了(工作流程详见附图1,2)。但是,这样的数据库系统就是真正安全的吗?还不是,因为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用户等同的新用户,例如为?ww",然后以这个新用户登录Access,从Admins用户组将Admin用户撤出,并屏蔽掉Admin用户对数据库的所有权限,这样,Admin用户就成为了一个普通用户,实际的数据库系统管理员则变为新用户(www),而你的数据库安全系统就对所有的用户起安全防护作用了。

结束语

尽管Access系统存在着某些安全漏洞,但它仍不失为微机平台上一个优秀的数据库管理系统,在工作组级或部门级的数据库应用领域,采用Access开发的数据库系统将会真正实现以往只有用大型数据库管理系统如Oracle等才能开发出的客户/服务器模式的数据库应用程序,同时,经过修正的Access安全系统也会使数据库管理员在数据库的网络安全方面高枕无忧。由于国内对Access的应用起步较晚,有关的技术资料也比较缺乏,这在一定程度上制约了Access这样一个优秀的数据库产品的应用,我们希望通过本文能够抛砖引玉,使国内用户能进一步的认识、了解和使用Access,使国内微机平台上出现更多的用Access开发的数据库产品。
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

华为干昆 ADS3.0 智驾系统 8 月上市 享界 S9 首发搭载 华为干昆 ADS3.0 智驾系统 8 月上市 享界 S9 首发搭载 Jul 30, 2024 pm 02:17 PM

7月29日,在AITO问界第四十万台新车下线仪式上,华为常务董事、终端BG董事长、智能汽车解决方案BU董事长余承东出席发表演讲并宣布,问界系列车型将于今年8月迎来华为干昆ADS3.0版本的上市,并计划在8月至9月间陆续推送升级。 8月6日即将发布的享界S9将首发华为ADS3.0智能驾驶系统。华为干昆ADS3.0版本在激光雷达的辅助下,将大幅提升智驾能力,具备融合端到端的能力,并采用GOD(通用障碍物识别)/PDP(预测决策规控)全新端到端架构,提供车位到车位智驾领航NCA功能,并升级CAS3.0全

deepseek怎么转换pdf deepseek怎么转换pdf Feb 19, 2025 pm 05:24 PM

DeepSeek 无法直接将文件转换为 PDF。根据文件类型,可以使用不同方法:常见文档(Word、Excel、PowerPoint):使用微软 Office、LibreOffice 等软件导出为 PDF。图片:使用图片查看器或图像处理软件保存为 PDF。网页:使用浏览器“打印成 PDF”功能或专用的网页转 PDF 工具。不常见格式:找到合适的转换器,将其转换为 PDF。选择合适的工具并根据实际情况制定方案至关重要。

iOS 18 新增'已恢复”相册功能 可找回丢失或损坏的照片 iOS 18 新增'已恢复”相册功能 可找回丢失或损坏的照片 Jul 18, 2024 am 05:48 AM

苹果公司最新发布的iOS18、iPadOS18以及macOSSequoia系统为Photos应用增添了一项重要功能,旨在帮助用户轻松恢复因各种原因丢失或损坏的照片和视频。这项新功能在Photos应用的"工具"部分引入了一个名为"已恢复"的相册,当用户设备中存在未纳入其照片库的图片或视频时,该相册将自动显示。"已恢复"相册的出现为因数据库损坏、相机应用未正确保存至照片库或第三方应用管理照片库时照片和视频丢失提供了解决方案。用户只需简单几步

华为将在智能穿戴领域推出玄玑感知系统 可根据心率评估用户情绪状态 华为将在智能穿戴领域推出玄玑感知系统 可根据心率评估用户情绪状态 Aug 29, 2024 pm 03:30 PM

近日,华为宣布将于9月推出一款搭载玄玑感知系统的全新智能穿戴新品,预计为华为的最新智能手表。该新品将集成先进的情绪健康监测功能,玄玑感知系统以其六大特性——准确性、全面性、快速性、灵活性、开放性和延展性——为用户提供全方位的健康评估。系统采用超感知模组,优化了多通道光路架构技术,大幅提升了心率、血氧和呼吸率等基础指标的监测精度。此外,玄玑感知系统还拓展了基于心率数据的情绪状态研究,不仅限于生理指标,还能评估用户的情绪状态和压力水平,支持超过60项运动健康指标监测,涵盖心血管、呼吸、神经、内分泌、

在PHP中使用MySQLi建立数据库连接的详尽教程 在PHP中使用MySQLi建立数据库连接的详尽教程 Jun 04, 2024 pm 01:42 PM

如何在PHP中使用MySQLi建立数据库连接:包含MySQLi扩展(require_once)创建连接函数(functionconnect_to_db)调用连接函数($conn=connect_to_db())执行查询($result=$conn->query())关闭连接($conn->close())

如何在PHP中处理数据库连接错误 如何在PHP中处理数据库连接错误 Jun 05, 2024 pm 02:16 PM

PHP中处理数据库连接报错,可以使用以下步骤:使用mysqli_connect_errno()获取错误代码。使用mysqli_connect_error()获取错误消息。通过捕获并记录这些错误信息,可以轻松识别并解决数据库连接问题,确保应用程序的顺畅运行。

java框架安全架构设计应如何与业务需求相平衡? java框架安全架构设计应如何与业务需求相平衡? Jun 04, 2024 pm 02:53 PM

通过平衡安全需求和业务需求,Java框架设计可实现安全:识别关键业务需求,优先考虑相关安全要求。制定弹性安全策略,分层应对威胁,定期调整。考虑架构灵活性,支持业务演变,抽象安全功能。优先考虑效率和可用性,优化安全措施,提高可见性。

如何在 Golang 中使用数据库回调函数? 如何在 Golang 中使用数据库回调函数? Jun 03, 2024 pm 02:20 PM

在Golang中使用数据库回调函数可以实现:在指定数据库操作完成后执行自定义代码。通过单独的函数添加自定义行为,无需编写额外代码。回调函数可用于插入、更新、删除和查询操作。必须使用sql.Exec、sql.QueryRow或sql.Query函数才能使用回调函数。

See all articles