在 Windows 7 上将共享用户数据放在哪里?

6 security windows-7

我的 Windows XP 应用程序被多个用户使用,所有用户都具有管理访问权限。用户通过我的应用程序协作处理一组共享数据文件。我们目前将该数据的默认位置设置为程序文件下应用程序文件夹的子目录。请不要喷我,这不是我的决定。

无论如何,现在是查看 Windows 7 的时候了,我看不出明显适合在哪里设置默认数据位置。我想要一个解决方案,让所有用户都可以在不是管理员的情况下完全控制所有文件。

显然,鉴于数据“属于”多个用户,当前用户的主文件夹(我认为是 \users\ 7 上)下的任何内容都是不合适的。“所有用户\共享文档”文件夹中的默认安全设置(至少在 XP 上)也是错误的。它被设置为任何用户都可以向其中添加新文件/目录,或修改其他用户创建的文件/目录,但只有创建者/所有者可以删除它们。此应用程序的一个用户创建一个文件,另一个用户移动或删除它是完全合适的。由于文件夹虚拟化,程序文件下的任何内容在哲学上都是不合适的,实际上也是不合适的。

那么,我是否应该让我的安装程序在“共享文档”下创建一个子文件夹(当然,使用适当的 shell API 以便它是可移植的),它具有特殊的安全访问规则以允许任何人做任何事情?或者更适合在标准 Windows 用户数据文件夹之外放置“c:\data”,然后授予每个人完全权限?还有另一种更好的方式让我失踪吗?

编辑

我的理解是 All Users\Shared Documents 是一个具有特殊配额规则的位置,围绕该文件夹上非常特定的 DACL 设计。我想符合 Windows 标准,如果在该位置创建一个允许任何用户执行任何操作的子文件夹是不合适的,那么我想知道替代方法是什么。

Jay*_*ick 2

有什么问题吗C:\ProgramData

(系统制作了该文件夹,默认隐藏)