为啥对 ms 访问数据库的只读访问的最低权限没有提及对 .laccdb(锁定文件)的任何权限要求?

Posted

技术标签:

【中文标题】为啥对 ms 访问数据库的只读访问的最低权限没有提及对 .laccdb(锁定文件)的任何权限要求?【英文标题】:Why does the minimum permission for read only access to an ms access database not mention about any permission requirement on the .laccdb (lock file)?为什么对 ms 访问数据库的只读访问的最低权限没有提及对 .laccdb(锁定文件)的任何权限要求? 【发布时间】:2021-05-12 10:33:20 【问题描述】:

链接:https://docs.microsoft.com/en-us/office/troubleshoot/access/lock-files-introduction#required-folder-privileges

如果你打算共享一个数据库,数据库文件应该位于 在用户读取、写入、创建和删除的文件夹中 特权。即使您希望用户拥有不同的文件权限 (例如,一些只读和一些读写),所有用户共享一个 数据库必须具有对该文件夹的读取、写入和创建权限。 但是,您可以将只读权限分配给 .accdb 或 .mdb 个人用户的文件,同时仍然允许对 文件夹。

就本问题而言,假设我们已为用户(例如 User2)授予对 access 数据库的只读访问权限的最低文件夹权限。根据上面的引用,最低权限是仅在文件夹级别读取、写入和创建[此权限不会流向文件夹中的文件]。以及访问文件 (.accdb) 级别的读取权限。

    为什么提到创建权限?自动标记读/写允许用户在文件夹中创建文件 - 那么为什么要特别提到创建呢?

    .laccdb(锁定文件)是在哪个用户帐户下创建的?

    在以下场景中:假设具有完整文件夹级别权限的 User1 打开了访问文件。这将自动创建锁定文件。现在 User2 打开访问文件(注意这个文件已经在 User1 的 PC 上打开)。现在 User2 对锁定文件没有任何权限。这在只读访问中是否允许?

【问题讨论】:

用户必须能够创建、维护和删除锁定文件,因此 - 除了管理员权限 - 对文件夹具有完全访问权限。 msdn 链接不清楚,因为它只说 FOLDER PERMISSION,没有说明继承锁定文件的任何内容 我猜这是因为用户不应该打扰。他/她,甚至不是管理员,将永远不必处理该文件。 但是例如 - 如果用户被分配了对文件夹的读/写权限;并为用户分配访问数据库文件的只读权限;并且权限不被文件夹中的文件继承(由于公司安全策略),则永远不会创建锁定文件,并且用户永远不能在共享模式下使用访问数据库。 是的。这就是为什么用户也需要创建和删除权限。 【参考方案1】:

关键是,锁定文件不存在,因此必须在文件夹上设置权限,以允许文件的初始创建(由第一个用户),以及随后的用户读取和写入,以及go,最后删除(由最后一个用户)。

要实现这一点,至少允许修改、读取和执行、读取、写入

另外,不要忘记共享权限。这些您通常会设置为完全控制

【讨论】:

以上是关于为啥对 ms 访问数据库的只读访问的最低权限没有提及对 .laccdb(锁定文件)的任何权限要求?的主要内容,如果未能解决你的问题,请参考以下文章

MS Access 表单只读

只读访问存储过程内容

我如何配置一个用户具有只读访问权限,而另一用户具有对Hangfire仪表板的完全访问权限?

具有只读访问权限的 Sql 虚拟表:插入、删除、更新?

为啥我建立用户没有访问数据库的权限

应用程序访问共享文件夹上的 mdb 文件,而客户端上没有 ms 访问权限