Access安全性之QA详解

出处:www.examlink.com 作者:小罗 日期:2007年01月24日 15时35分

  在写这篇文章前首先要感谢网友:松木、zengwb、秋天、4432,谢谢他们围绕Access安全性的讨论,现摘录如下:

  QMDB我用[启动]的所有选项都False,用封面表单启动,同个工作组的用户没授权是不能开打表修改,但他可以另建一个空数据库,进行导入或链接进行修改,如何防范?请赐教!

  A首先应该用MSAccessWorkgroupAdministrator程序建立自己的MDW文件,比如newSystem。mdw,然后建立一个新的帐号比如newAdmin,缺省的有AMDIN和,比如GUEST帐号,然后设置各个帐号的密码。然后以newAdmin帐号登陆,建立数据库,或者导入现有的数据库中的表或窗体等进行开发。对数据库的安全性进行设置。除了newadmin帐号,将所有的组和用户对该数据库的打开权限都屏蔽掉,其它权限也宜屏蔽掉。这样的话安全了。这样的话打开该数据库只能关联上新建的MDW文件,使用newAdmin帐号才能打开。但是实际应用时当然还应该建立一个运行软件的帐号,比如newUser,(最好不要用缺省的“用户”帐号,这样关联到SYSTEM。MDW上就可以进入,即使你设置密码也不安全,因为COPY一个新的SYSTEM。MDW一样可以关联。)将newUser帐号对各个表的权限相应的设置,能读写,不能修改设计,对窗体只能运行即可,总之它是用来运行的。屏蔽一切可以修改的权限。这样的话开发和运行就是两个帐号,但是新的问题就是如果就这样交给用户使用,那么用户就必须知道newUser帐号的密码,那样的话数据就又不安全了,所以还应该用VB或者DELPHI做个套子,最简单的写上一句,运行该数据库就行了,比如:strRunShell="c:\ProgramFiles\MicrosoftOffice\Office\MSACCESS。EXE/nostartup"

  strRunShell=strRunShell&"/wrkgrpc:\newSystem。mdwc:\pinewood。mde/usernewUser/PWDyourpassword"

  RetVal=Shell(strRunShell,vbMaximizedFocus)

  当然这只是个意思,在这套子里写写别的也可以,比如检查ACCESS是否安装了,路径是不是对,是不是注册了等等。(附:用另外一个已经编译成MDE文件的数据库也可以达到如上效果)

  Q用户安全组我也用过,但是我指的安全性主要针对内部人员,外面的高手如林,根本不要谈安全性了。

  ACCESS有个致命的毛病(或许我还不会用),它的安全性性能只能用在当前已设安全机制的数据库,对用户新建的数据库根本无用,用户只需用他的帐户登录ACCESS,新建一个*。MDB,再用链接功能即可把后端数据库的表都链接起来(或者前端数据库也可,因为前端数据库的表是链接再后端数据库的表上,他无非是再链接而已),他只要看懂表的内容,就可以任意修改了。

  其实微软稍改ACCESS让它的安全机制适用所有的数据库而不是当前数据库,我们就不用伤脑筋去防范一些初哥儿们,作为我们使用安全机制无非也就防范这些内部使用者的非法修改、破坏而已。

  所以我们需要ACCESS系统级安全机制或officedeveloperedition也有一定的帮助

  A错错错,“用户只需用他的帐户登录ACCESS,新建一个*。MDB,再用链接功能即可把后端数据库的表都链接起来(或者前端数据库也可,因为前端数据库的表是链接再后端数据库的表上,他无非是再链接而已),他只要看懂表的内容,就可以任意修改了。”

  这段话错!如果ACCESS的安全性真的象贤弟所说的,那我所贴的那些可能都是空谈了。你可能还是没有按照我说贴的实践一番。事实上是不会那样的,因为我是新创建的系统文件(即MDW文件),关联到新的系统文件创建数据库,而此数据库的打开权限只能由我指定的固定的用户比如NEWUSER才有,所以别人,不管关联到什么系统文件上都是无法用新建的数据库联结上的,如果真是那样,ACCESS早就该淘汰了!

  如果你不相信我可以做一个数据库发给你,看你能不能打开。我1997年开始使用ACCESS做开发,对我所完成的各种数据库我都要反复测试的,你所说的情况如果可以,我早就积攒几十个别人开发我想破解掉的数据库了。。。。

  Q愚弟还是不明白:

  小弟在文中所指的用户是指内部操作人员,我也做过很多测试:

  例:我建立一个安全机制的数据库,系统创建一个MDW文件,我设定一个新的只读工作组及一个普通用户(无管理员权),把系统的用户组不设任何权限,然后退出ACCESS,选用新的MDW文件,用那个普通用户登录,建立一个新的文件,然后即可导入、链接先前那个已有安全机制的数据库。

  A你可能还是没认真读我的帖子,其实ACCESS的帮助中有更详尽的说明,非常详细。不过为了彻底让你明白,我就列个傻瓜式的步骤吧,贤弟不要介意,我也是读着傻瓜式的帮助才逐渐变聪明的。

  1、先用ACCESS安装目录下的WRKGADM。EXE程序创建一个自己的MDW文件。然后关联上。

  2、登陆进ACCESS后,缺省是ADMIN用户,随便建立MDB,修改ADMIN用户密码,建立一个新的帐号,比如PINEWOOD,作为我今后管理变成用,再建立一个NEWUSER,给我以后的用户用。(可以不建立任何组)

  3、重新登陆,以PINEWOOD登陆,然后修改密码,即把空密码修改掉。对NEWUSER帐号也重复一次。

最后更新时间:2008-05-28 11:40:56
文章评论
共有 0 位网友发表了评论
用户名: 新注册) 密码: 匿名评论 [查看所有评论]

评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
您可以用以下几种方式找到此文章

考试全流程

栏目文章精选