【发布时间】:2010-02-03 11:56:40
【问题描述】:
我正在尝试使用工作组安全性来保护 MS Access 2003 mdb。我已经设置了大部分(使用新的 MDW 等),但我无法阻止人们在数据库中创建新表,如果他们有权打开它。我错过了什么吗?
所有帐户都没有任何权限,我都是通过组来完成的。
用户只有对数据库的 Open\Run 访问权限,没有对 MSys* 表)的“读取数据”访问权限。
有什么想法还是我正在尝试做不可能的事情?
--更新--
我已尝试按照建议使用向导,但这仍然给我留下了同样的问题。我创建了一个空白数据库并在其上运行向导。分配了 2 个用户,我和用户,并删除了对标准组的所有访问权限。我将 Me 添加到 Admin 组并将 User 添加到 Read Only 组。
如预期的那样,不使用 MDW 会拒绝访问。以我身份登录允许完全访问(设计事物、添加数据、删除数据等),以用户身份登录将允许读取数据不存在的表,但不能添加数据或设计它们(如预期的那样),但它仍然允许创建一个新表,然后用户将拥有添加、删除等的完全访问权限。
【问题讨论】:
-
您没有正确保护它。您必须运行安全向导,该向导会创建一个新的工作组文件,该文件的 ADMIN 组与默认工作组文件(都具有相同的 ADMIN 组)不同。通常的做法是删除内置组和用户的所有权限,并使用客户组提供访问权限。
-
我已经添加了更多详细信息到我目前所尝试的内容中,其中包括向导。我开始认为这是对工作组安全性的限制,我将不得不在 Code 中工作。 B.
-
顺便说一句:很长一段时间以来,我一直使用您的引述作为签名,因为它每次都让我微笑:引述(David W. Fenton):我们可能会以完全相同的方式感到困惑,但混淆可能像 Null 一样,并且不可比较。
-
哇,我不记得这样的报价。我以前很聪明!
-
您是否删除了顶级数据库对象的权限?我已经忘记了这里的细节,但我知道我有一个应用程序,它仅在防止创建表的情况下是安全的(其他一切都是开放的)。不过,我无法检查它是如何完成的。
标签: security ms-access permissions