通用\u所有和文件夹/文件ACL?你们到底在做什么?

通用\u所有和文件夹/文件ACL?你们到底在做什么?,c,windows,file-io,createfile,C,Windows,File Io,Createfile,我最近在我们的一个文件服务器上重新设计了安全性,将大部分完全控制的内容标记为修改。现在,我的开发人员告诉我,每当他们使用GENERIC_ALL打开一个文件时(例如使用CreateFile()),他们都会收到一条拒绝访问的消息 经过研究,似乎没有任何东西表明GENERIC\u ALL比GENERIC\u EXECUTE+GENERIC\u WRITE+GENERIC\u READ;然而,情况似乎并非如此,因为开发人员能够添加这三个常量值,并将其用于CreateFile() 所以,我问。。。GENE

我最近在我们的一个文件服务器上重新设计了安全性,将大部分完全控制的内容标记为修改。现在,我的开发人员告诉我,每当他们使用GENERIC_ALL打开一个文件时(例如使用
CreateFile()
),他们都会收到一条拒绝访问的消息

经过研究,似乎没有任何东西表明
GENERIC\u ALL
GENERIC\u EXECUTE
+
GENERIC\u WRITE
+
GENERIC\u READ
;然而,情况似乎并非如此,因为开发人员能够添加这三个常量值,并将其用于
CreateFile()

所以,我问。。。
GENERIC\u ALL
真正做什么

谢谢


Matt

GENERIC\u ALL
表示“所有可能的访问级别”(对于文件,其名称为
FILE\u ALL\u access
)。由于您删除了完全控制,尝试打开
GENERIC\u ALL
将失败,访问被拒绝,因为(例如)
WRITE\u DAC
不再被授予。

GENERIC\u ALL
访问权限包括所有可能的访问权限,包括
WRITE\u DAC
(更改权限)和
写入所有者
(更改所有者)。该页面显示了
通用*
访问权限如何映射到文件的特定访问权限。该页面显示文件的所有可能访问权限(当使用
GENERIC\u all
时,可能会请求所有权限)


您应该鼓励开发人员只请求他们实际需要的访问级别。例如,很少有一个文件同时为
GENERIC\u EXECUTE
GENERIC\u WRITE
打开。

就像机器奇迹中的某个该死的幽灵一样,今天当我遇到一个超时问题时,我想到了这一点,因为TortoiseHg无法在用户共享上创建文件。不管谁刚更新了帖子,我欠你一个人情。