MS Access - 后端文件和包含它的文件夹所需的最低权限是啥

Posted

技术标签:

【中文标题】MS Access - 后端文件和包含它的文件夹所需的最低权限是啥【英文标题】:MS Access - what are the lowest required permissions for the backend file and for the folder containing itMS Access - 后端文件和包含它的文件夹所需的最低权限是什么 【发布时间】:2008-09-16 06:54:00 【问题描述】:

我维护了一个拆分为前端和后端文件的 ms-access 应用程序。 前端文件位于用户计算机中。 后端文件位于服务器的共享文件夹中。

所需的最低权限是多少? 我可以在该文件夹中授予某些用户只读权限吗? (或以其他方式对他们隐藏)但仍使他们能够查看数据?

我应该如何为数据文件和包含它的文件夹提供最佳安全性?

【问题讨论】:

【参考方案1】:

很遗憾,必须创建、更新和删除锁定文件 (ldb)。如果一个权限不足的用户打开数据库,它将被所有其他用户锁定,因此您的所有用户都需要后端的读/写/删除权限。

编辑 #1 每次打开数据库时都必须创建锁定文件,这包括通过链接表,并在数据库关闭时删除。如果锁定文件退出并且数据库关闭,则表明发生了问题。如果在权限不足的情况下运行压缩和修复,也会遇到问题。

编辑 #2 Access 的安全性是一个相当大的主题,很大程度上取决于您的环境和要求,对于后端,它的范围从组织薄但非常适合大多数办公室的数据库密码到 Access 安全性可能很复杂,已在 2007 年被删除。这是一个链接 http://support.microsoft.com/kb/207793,用于下载版本 http://www.microsoft.com/technet/security/guidance/clientsecurity/2007office/default.mspx。

【讨论】:

【参考方案2】:

许多人建议您必须向用户授予 FULL 权限,但事实并非如此。您只需授予他们 MODIFY 权限 - 您可以拒绝他们 DELETE 权限,这是一个好主意,因为它禁止用户“意外”删除您的数据文件。

确实,对于具有 DELETE 权限的用户,当该用户是最后一个退出数据库的用户时,LDB 文件将在退出时被删除。但并不是要求删除 LDB 文件——事实上,在 Access 2 和之前的版本中,LDB 文件在退出时没有被删除,只是留在那儿闲逛.这通常没有缺点,但有时 LDB 文件会损坏并导致问题,确实需要删除并重新创建。

我所做的是拥有两类数据库用户(在特定于我的 Access 应用程序的自定义 NT 安全组中定义)—— DBAdmins 和其他所有人。 DBAdmins 拥有完整的权限,其他人只能更改。结果是,只要 DBAdmin 作为最终用户退出,LDB 就会被删除。这个设置效果很好,我已经使用了十多年了。

【讨论】:

【参考方案3】:

为您的后端使用隐藏共享实际上只是“默默无闻的安全性”,并不值得付出努力。老练的用户可以通过任意数量的方法来解决这个问题(取决于您如何锁定前端):

查看 MSysObjects 表并找到 表的 CONNECT 字符串, 这将识别隐藏的 分享。 检查结果 CurrentDB.TableDefs("链接的名称 table").Connect 在立即窗口中 VBE

现在,如果您已经使用 Jet 用户级安全性正确地保护了您的应用程序(并且很容易非常认为您已经保护了您的数据库并发现存在漏洞,仅仅因为它是真的很容易忘记过程中的一些关键步骤),他们将无法做到这一点,但即使你有,Jet ULS 安全性也是可以破解的(谷歌很容易找到破解软件),所以是并不是你应该 100% 依赖的东西。

【讨论】:

【参考方案4】:

是的 - 它解析为文件访问权限以及读/写。除非用户提供允许他们写入的凭据,或者您允许在文件上写入,否则您无法执行任何类型的数据更新内容(您将得到“操作需要可更新的查询”)。

运行查询只需要读取权限。

【讨论】:

以上是关于MS Access - 后端文件和包含它的文件夹所需的最低权限是啥的主要内容,如果未能解决你的问题,请参考以下文章

MS-Access/SQL 拆分:如果我将其移动到不同的文件夹,前端安全性会发生变化

MS Access 表单中的文本框不适用于 1 个用户

MS Access 365 - 创建包含链接文件的子表单

拆分 MS Access 数据库需要很长时间才能打开 - 后端不断锁定和解锁

将分隔文件 (.csv) 中的行导入 MS-Access 表

MS Access VBA循环查询和重命名文件