1、安全使用Access数据库 Access数据库使用比较广,原因很多。Access对于大多数人来说易于使用。利 用 Access中的各种向导和对话框,创建和设置数据库的难度比其他数据库(如 SQL Server)小得多。大多数公司都可以支付得起Microsoft Access ,而对于 SQL Server 之类的数据库来说,仅仅该软件的本身就不可能走进小规模公司。 但是,Access 并不是一个数据库服务器,数据的安全问题不能保障,所以,我 们有必要作一些特殊处理。 在 Access 中, 数据安全是通过我们自己的数据数据库和一个用户数据库来实现 的。数据数据库包含我们自己的数据库表、查询、表
2、单、报表、宏以及模块。用户 数据库包含用户的姓名、身份、用户组以及组群关系的信息。所有的用户数据库用 于对用户及其密码进行有效性校验,并提供组群关系的信息。数据数据库然后提供 其自身范围内的特定权限。 第一步:创建一个新的数据库 我们上面提到,用户数据库中保存用户登陆的信息。我们首先创建一个新的用 户数据库,然后利用该数据库提高我们数据数据库的安全。 启动 Microsoft Access,不要打开数据库。在“工具” “安全”下,找到 “工作组管理员” ,打开,将看到如下对话框: 点击“创建”按钮,进入下面的对话框: 在该对话框中,需要提供将要创建的用户数据库名称,然后还要提供该数据库 的组织
3、形式以及相应的 ID。完成这些工作后,点击“确定”按钮。 然后,提供将要创建的用户数据库的位置以及文件名称。确定后,点击“确定” 按钮,然后将看到如下对话框: 如果输入的信息正确,则点击“确定” ,否则,点击“更改” 。 第二步:为管理员帐户加口令 启动 Access,但是不要打开数据库。在菜单里,依次选择“工具” “安全” “用户和组” ,在弹出的对话框中选择“更改登陆密码” : 我们在此之前进入Access不需要密码登陆。为管理员账户提供一个新的密码, 然后点击“确定”按钮。关闭 Access 再重新打开。这次 Access 就会提示用户输入 姓名和密码。 第三步:创建新的admin用户
4、我们通常登陆的缺省的超级用户(管理员)是每次安装 Access 时自动分配的账 户。即使我们在用户数据库自己的拷贝中更改了该密码,其他人得到我们的数据库 后,也可以将其放置在计算机上,利用缺省的管理员账户,不需要密码就可以访问 其中的数据。所以,我们需要创建一个新的管理员账户。 启动 Access,不要打开任何数据库。依次选择“工具” “安全” “用 户和组”菜单项,在弹出的对话框中选择“用户”标签页,如图所示: 点击“新建”按钮,提供新增加的系统管理员的名称(newadmin)及其标识 (newadmin)。新添加的管理员属于管理员组。然后在“组成员关系”列表中将“管 理员组”高亮显示,再点
5、击“添加” 。 点击“确定”后,这个 newadmin 就添加进去了。关闭 Access 后再重新打开, 并以 newadmin 用户登陆,注意密码为空,但不要打开数据库,为 newadmin 添加密 码。方法同第二步。 第四步:从管理员组中删除管理员 我们不能简单地删除原来的 admin(管理员)账户。但是我们可以从 管理员组中 删除管理员账户,这样就不能用该账户来管理新的数据库。 以 newadmin账户登陆,不打开数据库,依次选择“工具” “安全” “用户和组”菜单项,在弹出的对话框中选择“用户”标签页,然后在该标签页上 的“用户”框中的“名称”列表框中选择“管理员” ,然后在“组成员关
6、系”框中, 高亮显示“隶属于”列下的“管理员组” ,点击“移去” 。 第五步:获取非保护数据库的所有权 因为原来的数据库是在非保护环境下用缺省的管理员账户创建的,所以没有办 法将数据库的所有权从管理员账户中删除。因此,我们需要创建一个新的数据库, 并将非保护环境下的数据库中的信息引入到这个新的数据库中。另外,有些时候我 们可能还要移动或删除该非保护环境下的数据库。 以 newadmin账户注册,并创建一个新的数据库(安全数据库) 。然后在“文件” 菜单中,选择“获取外部数据” 。 第六步:删除安全数据库中的特权 至此,我们已经创建了一个新的账户,并将其分配在管理员组群里,同时将管 理员账户从该
7、组中移出。我们已经创建了安全数据库并向其中引入了对象。但是管 理员用户仍然在“用户组”中,该用户仍然具有访问数据库的权限。下一步需要删 除这种权限。 以 newadmin账户登陆到 Access中,打开安全数据库。依次选择“工具” “安全” “用户和组权限”菜单项。在列表中选“组” ,对象类型中选“数据 库” , “用户名/组名”为“用户组” , “对象名称”为“当前数据库” ,取消所有权限, 按“确定” 。 这样,管理员账户就无法访问该安全数据库了。下面测试该安全数据库的安全性, 首先,退出 Access,然后以“管理员“账号”登陆,打开该安全数据库,结果如下: 该错误信息表明管理员没有访问该安全数据库的权限了。 第七步:数据库加密 该数据库已经具有了访问的安全保证,但是仍然存在一个问题。Access 内部是 用纯文本保存其数据库中的大多数数据的。所以通过文本编辑器人们仍然可以非常 容易查看数据库中的内容,所以,我们还要对数据库加密。 用 newadmin帐户登录到 Access中,打开安全数据库,依次选择“工具” “安全” “加密/解密数据库”菜单项。