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

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

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

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

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

那么,我是否应该让安装程序在“共享文档”下创建一个子文件夹(当然,使用适当的 shell API 以便可移植),该子文件夹具有特殊的安全访问规则以允许任何人执行任何操作?或者更适合将其放在标准 Windows 用户数据文件夹之外,例如“c:\data”,然后授予每个人完全权限?还有其他我遗漏的更好的方法吗?

编辑

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

答案1

有什么问题C:\ProgramData

(系统创建该文件夹,默认情况下它是隐藏的)

相关内容