Col*_*nee 5 c++ winapi acl file-permissions
我尝试使用 执行此操作GetEffectiveRightsFromAcl,但对于由于我所属的组而被拒绝的文件,它没有返回正确的访问掩码。
例如,我有一个文件,unreadable.txt. 如果我拒绝当前用户的写访问权限unreadable.txt,则访问掩码会正确显示我没有写访问权限。但是,如果我拒绝“经过身份验证的用户”组的写入访问权限,则访问掩码意味着我拥有完全访问权限(但我没有)。
我的替代方法是手动迭代 Ace 列表并将我的 SID 与每个条目进行比较,但我无法找到一种干净或简单的方法来检查 Ace 是否属于某个组,以及当前用户是否属于该组。
作为扩展名,该文件可能不存在(即,它是一个新文件,即将写入),在这种情况下需要检查对该目录的访问。
对此有什么好的解决办法吗?似乎应该存在一种更简单的方法来执行此操作,而无需实际尝试读取/写入有问题的文件。