您现在的位置: 网页制作教学网 >> 数据库教程 >> Access 教程 >> 文章正文

建立Access 数据库的安全门

作者:郁郁小蝎

来源:中国站长学院

热度:

2007-3-20 14:29:56

  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数据库。

  创建对象的用户,是该对象的所有者,拥有全部权限。即使被管理员撤消了权限,也可以进入用户与组权限对话框,给自己指定权限。管理员不能永久彻底撤消对象所有者的权限,但是可以改变对象的所有者。所以管理员除了要控制好权限外,还要适时的改变对象的所有者,才能保证安全。

上一页  [1] [2] [3] 下一页

我来说两句:

1分 2分 3分 4分 5分
姓名: *


* 请各位网友遵纪守法并注意语言文明。
网站简介 | 联系方式 | 意见建议 | 版权说明
Copyright © 2007 All rights reserved
滇ICP备06006992号