我想允许用户使用文件夹中已创建的 Excel 工作簿(例如 A.xlsx)。它可以打开、修改和保存它。它不能重命名/删除它或其他文件,也不能在该文件夹中创建新的文件/文件夹。
我该如何实现这一点?我尝试设置高级权限。仅在文件夹中,我禁用了
- 创建文件
- 创建文件夹
- 删除子文件夹和文件
- 删除
并在 A.xlsx 中我禁用了
- 删除子文件夹和文件
- 删除
通过这种方式,我成功禁用了删除和创建新文件/文件夹的功能,但是当我想通过覆盖来保存 A.xlsx 时,它会说“文件未保存”,就像它在该目录中没有权限一样。
答案1
在文件夹中(重要:设置适用于访问规则仅限此文件夹),确保用户仅具有以下权限:
- 遍历文件夹/执行文件
- 列出文件夹/读取数据
- 读取属性
- 读取扩展属性
(如果您设置了拒绝条目,请阻止以下内容:创建文件,创建文件夹,写入属性,写入扩展属性,删除子文件夹和文件,删除,更改权限,取得所有权)在文件中,否定为用户提供以下权限:
- 删除
- 更改权限
- 取得所有权
这种安排在 Windows 10 上为我产生了预期的结果。您可以使用文件夹和文件的有效访问选项卡来确保没有其他规则干扰这些内容。
然后用户将能够读取和写入该文件。用户将无法重命名该文件、在该文件夹中创建新文件或删除该文件。请注意,如果用户对该文件夹中的其他文件具有“删除”权限,则将能够删除它们。
当然,请注意,由于用户可以写入文件,因此它可能会删除其中的所有内容,而不会删除文件本身。如果您不信任此用户,请保留备份。
对于 Excel 文件来说,这并不能完全解决问题。Office 程序总是将文档保存到临时文件中,删除原始文件,然后将临时文件重命名为真实文件。您可以通过按照以下说明修改注册表来解决这个问题这篇微软文章. 在用户账户中打开此密钥:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\14.0\Common\General
对于 Office 2013,请更改14.0
为15.0
。(适用于 Office 2016。)使用 的数据16.0
创建一个名为 的新 DWORD 值。您还必须更改文件夹的权限以允许用户EnableSimpleCopyForSaveToUNC
1
创建文件/写入数据。(但由于它仅在文件夹中,用户将无法处理其中的任何其他内容,只能创建新文件。)这将允许用户保存 Excel 文档,但遗憾的是,临时文件仍会保留下来。
潜在的评论者可能会认为CREATOR OWNER
权限、硬链接或网络共享可能会有所帮助,但事实并非如此。